Asp.net mvc实现通过下拉框选择页码后自动跳页

因为我们的分页 支持通过下拉框选择页码后自动跳页 有点儿像webform 的autopostback  而我们又是get 提交版的  需要解决一个问题 选择后自动跳页 需要带上以前的查询条件 不能跳完页以后 查询条件消失了

用一个隐藏的a 标签  这个a 标签生成的连接 保存了当前的查询条件等  他的页面数 显示成"*pageindex*  当我们选择下拉框跳页后 用选择的值 替换这个"*pageindex*  然后跳转到当前href 则解决了上述问题 

 上代码

    <text>跳转至</text>
    <select id="pageselect" onchange="selectchange()">
        @for (int i = 1; i <[email protected]; i++)
            {
                var selected = "";
                if (i==Model.CurrentPageIndex)
                {
                    selected = "selected='selected'";
                }            
            <option value="@i" @selected>@i</option>
            }
    </select>
    
    {
        dict["PageIndex"] = "*pageindex*";
    }
    <a style="display:none" id="pagelink" href="@Url.RouteUrl(dict)" ></a>
    //  
    <script type="text/javascript">

            function selectchange() {
                var pageselect = document.getElementById("pageselect");
                var pageselectValue = pageselect.options[pageselect.selectedIndex].value;

                var linkdom= document.getElementById("pagelink");
                var href = linkdom.href;
                href = href.replace("*pageindex*", pageselectValue);

                window.location = href;
 
            }
    </script>
    
    <text>页</text>

你可能感兴趣的:(asp.net)