Javascript 索引页排序集合的附加参数
我有一个页面,它将问题对象呈现为一组Javascript 索引页排序集合的附加参数,javascript,html,asp.net-mvc,action,Javascript,Html,Asp.net Mvc,Action,我有一个页面,它将问题对象呈现为一组。(我也使用分页,但我认为这对于这个特定问题没有任何意义) 我想让用户有机会选择项目显示的顺序(即基本问题列表的顺序) 我认为使用列表是一种简单的方法,但它似乎不起作用。我主要是在努力从Javascript从我的控制器调用操作。到目前为止,我已经做到了: 我的HTML: <select id="sort-select" style="margin-bottom: 10px"> @foreach (SortingType value in E
。(我也使用分页,但我认为这对于这个特定问题没有任何意义)
我想让用户有机会选择项目显示的顺序(即基本问题列表的顺序)
我认为使用
列表是一种简单的方法,但它似乎不起作用。我主要是在努力从Javascript从我的控制器调用操作。到目前为止,我已经做到了:
我的HTML:
<select id="sort-select" style="margin-bottom: 10px">
@foreach (SortingType value in Enum.GetValues(typeof (SortingType)).Cast<SortingType>())
{
<option value="@((byte)value)">@(value.ToString())</option>
}
</select>
这当然会在document.ready中调用
问题是,当JS运行时,它将所有的符号(&)组成它们的转义等价物(&)。当然,这不起作用,因为控制器操作的参数由纯符号分隔
当我尝试更改选择时,我将此作为链接:
http://localhost:41084/Question?topicId=-1&sort=0
有人知道我该如何解决这个问题吗?我不确定如何以正确的方式从Javascript调用操作,我也不知道Javascript是否是解决这个问题的方法。发现解决方案必须执行
url=url.replace(…)
而不仅仅是url.replace(…)
我的javascript现在如下所示:
function AddSort() {
var select = document.getElementById('sort-select');
select.onchange = function(event) {
var selected = select.options[select.selectedIndex].value;
var url = encodeURI("@Url.Action("Index", "Question", new {topicId = ViewBag.TopicId, sort = 0})");
url = url.replace('&', '&');
url = url.replace(0, selected);
window.location.href = url;
}
}
function AddSort() {
var select = document.getElementById('sort-select');
select.onchange = function(event) {
var selected = select.options[select.selectedIndex].value;
var url = encodeURI("@Url.Action("Index", "Question", new {topicId = ViewBag.TopicId, sort = 0})");
url = url.replace('&', '&');
url = url.replace(0, selected);
window.location.href = url;
}
}