在Asp.net MVC剃须刀中获取Select Control的选定值

时间:2013-12-11 10:33:33

标签: asp.net asp.net-mvc asp.net-mvc-4 select anchor

我在页面顶部定义了一个选择,显示了pageSize(项目列表页面)

        <select name="ddlPageSize" style="text-align:left;width:80px;">
        @for (var i = 5; i <= 100; i=i+5){

             <option>@i</option>
        }
        </select>

现在我想在pagging链接中设置页面大小,如。

 <div style="width:inherit; padding:15px 0; clear:both;">
    <ul style="text-align:center">

        @for (int i = 0; i < (int)Math.Ceiling((decimal)totalCount / (decimal)pageSize); i++)
        {        
            int page = i + 1;
            string background = "transparent";//transparent
            if (pageNo == page)
            {
               background = "grey";
            }

            <li style="display:inline; font-size:14px; color:#000; font-weight:bold; font-family:'VAGRound';padding:0 0px; background-color:@background; ">

                 <a href="~/Admin/Userspagging?page=@page">@page</a>

            </li>
        }
        </ul>
    </div>

在html锚中我想通过页码

传递选定的页面大小
<a href="~/Admin/Userspagging?page=@page & size=@pageSize">@page</a>

2 个答案:

答案 0 :(得分:1)

您需要更改jQuery中ddlPageSize选定索引更改的网址 这是相同的链接 How to change the href for a hyperlink using jQuery

首先在anchor上添加一些类,以便您可以轻松地在jQuery中获取项目。

 <a class='apager' href="~/Admin/Userspagging?page=@page">@page</a>

并使用如下的jquery

$("#ddlPageSize" ).on("change", function() {
   var selectedValue=$(this).val();
   $(".apager").each(function(item,index){
       item.attr("href",item.attr("href")+"&pageSize="+selectedValue);
   });

});

请注意这只是目前尚未实施的一个想法。

答案 1 :(得分:1)

如果您想根据用户选择更新锚链接,则必须在客户端完成。

还使用URL的数据属性。您知道只使用当前页面更新URL。

<a id="LINKID" data-url="~/Admin/Userspagging?page=@page" href="">@page</a>

将功能附加到下拉列表的更改事件。

$("#ddlPageSize" ).on( "change", function() {

   $("#LINKID").attr("href", $("#LINKID").data("id") + "&size=" + $("#ddlPageSize").val())

});

类似的......