asp.net mvc选择更改重定向到Action

时间:2010-06-16 07:09:34

标签: asp.net-mvc asp.net-mvc-2

我正确地将操作名称从Controller传递到分页类,然后然后使用选择列表我想重定向到该操作。此时它将附加到当前url.i想要使用下面的选择列表重定向到控制器操作manageUser的正确方法

我们在Model.COntroller中应该有什么。 ControllerName / ActionName /或Just ActionName

 <select id="paging" onchange="location.href='<%= Model.Controller %>'+this.value">

     <% for (int i = 1; i <= Model.TotalPages; i++)
      {  %>
         <option id=<%=i %>><%=i %></option>
     <% } %>
    </select>


public class PaginatedList<T> : List<T>
{

    public string Controller { get; private set; }

    public PaginatedList(IQueryable<T> source, int pageIndex, int pageSize,string Cont)
    {
        Controller = Cont;                   // here is the controller 

    }
  }

Controller
    public ActionResult ManageUser(int? page)
    {
        const int pageSize = 5;
        var AllUser = UserRepository.GetAllUser();
        var paginatedUsers = new PaginatedList<Users>(AllUser, page ?? 1, pageSize,"ManageUser/Page/");

        return View(paginatedUsers);
    }

1 个答案:

答案 0 :(得分:7)

我可能会将select的值设置为您要重定向到的url。这样您仍然可以使用内置帮助程序生成您的网址。像这样:

<select id="paging" onchange="location.href=this.value">
 <% for (int i = 1; i <= Model.TotalPages; i++)
  {  %>
     <option value="<%=Url.Action("ActionName", "ControllerName", new { page = i })%>"><%=i %></option>
 <% } %>
</select>