【发布时间】:2019-12-20 20:46:41
【问题描述】:
我有一页满是帖子,我在渲染之前对这些帖子进行了排序。
现在我创建了一个下拉列表,以便用户可以按最新或最旧对帖子进行排序。 唯一的问题是我不知道如何通过 Ajax 更新服务器端变量。
@{
var SortSelected = "";
var sortedArticles = ListOfPosts.OrderBy(x => x.GetPropertyValue<DateTime>("articleDate")).Reverse().ToList();
if (SortSelected == "Most recent")
{
sortedArticles = ListOfPosts.OrderBy(x => x.GetPropertyValue<DateTime>("articleDate")).Reverse().ToList();
}
else if (SortSelected == "Oldest")
{
sortedArticles = ListOfPosts.OrderBy(x => x.GetPropertyValue<DateTime>("articleDate")).ToList();
}
}
我已经删除了其他无关的代码以使其更清晰。
这是我的帖子代码,这是 Razor(html)
<div class="AnimatedLabel">
<select name="contact" class="tm-md-12">
<option id="hide-selector-dropdown" value=""></option>
@foreach (var item in FilterTypes)
{
<option value="@item">@item</option>
}
</select>
<label for="contact">Sort by</label>
<span class="tm-icon-arrow--right" id="selector-dropdown-arrow"></span>
</div>
这就是我尝试的方式 -
<script>
$('select').on('change', function () {
SortSelected = this.value;
});
</script>
但它没有更新值,我被告知因为它是服务器端的。 我知道人们可能会因为这个问题而烤我,但我不知道任何其他解决方案,所以任何帮助都会很棒!
我对@987654325@没有太多经验 谢谢!
【问题讨论】:
-
目前在你的 js 代码中你根本没有使用任何类型的 ajax
-
你有什么理由不在这里使用 Html 助手吗?
-
@Izzy 我不明白如何使用 Ajax,如果可能的话,我想要一些关于如何修改该变量的指针或任何指示,对不起,我只是这一切的新手。
-
看看this的问题,这是一个很好的指针
-
谢谢,所以我猜我在选择值改变时的预期改变1的值并不像我预期的那么简单。 span>
标签: c# asp.net .net ajax asp.net-mvc