Javascript 如何保留网页的按钮选择状态?

Javascript 如何保留网页的按钮选择状态?,javascript,asp.net-mvc,Javascript,Asp.net Mvc,该网页是用asp.NETMVC、javascript、razor和jQuery创建的 我有一些过滤视图显示列表的按钮 用例:当用户单击任何过滤器并按apply时,页面将使用过滤后的数据显示列表重新加载视图 问题:现在,在执行上述用例后,所选按钮将自动清除。有没有办法保存按钮状态 预期结果 示例:我执行用例,单击按钮1,然后单击下一步应用按钮。页面和列表刷新,但按钮1仍处于选中状态 有必要使用cookies吗? 我不理解如何通过来自c#或javascript的cookies保存数据的概念 Http

该网页是用asp.NETMVC、javascript、razor和jQuery创建的 我有一些过滤视图显示列表的按钮

用例:当用户单击任何过滤器并按apply时,页面将使用过滤后的数据显示列表重新加载视图

问题:现在,在执行上述用例后,所选按钮将自动清除。有没有办法保存按钮状态

预期结果 示例:我执行用例,单击按钮1,然后单击下一步应用按钮。页面和列表刷新,但按钮1仍处于选中状态

有必要使用cookies吗? 我不理解如何通过来自c#或javascript的cookies保存数据的概念

HttpCookie cookie = HttpContext.Request.Cookies.Get("pending");

if(cookie == null)
{
    cookie = new HttpCookie("pending");
    HttpContext.Response.Cookies.Remove("pending");
    HttpContext.Response.SetCookie(cookie);

}
从google chrome的ctrl+shift+i中,我可以看到有一个cookie,但我不确定保存在哪里的cookie文件以及里面有什么数据

下面是按钮的实现

<script>
    $(function () {
        $('#filterPending').checkboxradio();
        $('#filterDirect').checkboxradio();
        $("#sort-selection").selectmenu({ width: 270 });
        $('#ApplyFilter').click(function () {
            var params = "";

            if ($('#filterPending')[0].checked) {

                params = params + "filters=pending";
            }
            if ($('#filterDirect')[0].checked) {
                if (params !== "") {
                    params = params + "&";
                }
                params = params + "filters=direct";
            }

            window.location.href = "?" + params;
        });
    });
</script>
@{
    bool isFilterByPending = ViewBag.FilterByPending;
    bool isFilterByDirect = ViewBag.FilterByDirect;
    string checkedPending = ViewBag.FilterByPending ? "checked" : "";
    string checkedDirect = ViewBag.FilterByDirect ? "checked" : "";
}
<label for="filterPending">Pending</label>
<input type="checkbox" name="filterPending" id="filterPending" @checkedPending>

$(函数(){
$(“#过滤器页”).checkboxradio();
$('#filterDirect')。checkboxradio();
$(“#排序选择”)。选择菜单({width:270});
$('#ApplyFilter')。单击(函数(){
var params=“”;
如果($('#filterPending')[0]。已选中){
params=params+“filters=pending”;
}
如果($('#filterDirect')[0]。已选中){
如果(参数!==“”){
参数=参数+“&”;
}
params=params+“filters=direct”;
}
window.location.href=“?”+参数;
});
});
@{
bool isfilterbypend=ViewBag.filterbypend;
bool isFilterByDirect=ViewBag.FilterByDirect;
字符串checkedPending=ViewBag.filterBinding?“选中”:“;
字符串checkedDirect=ViewBag.FilterByDirect?“选中”:“;
}
悬而未决的

我会使用局部视图或将所选按钮绑定到视图模型以保留选择。不需要Cookie。是否有我可以参考的链接?请为您的按钮张贴您的标记,以便我了解您是如何指示“选定”的stateposted在cshtml端。这只是javascript=)你正在丢失你的东西,因为你使用的是脚本,而不是像通常的mvc那样提交到页面,所以你的ViewBag总是有它的初始值。你选择这样做有什么原因吗?我不想建议你完全改变你这样做的方式,如果你这样做是有原因的。