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

maz*_*ztt 2 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);
    }
Run Code Online (Sandbox Code Playgroud)

Mat*_*son 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>
Run Code Online (Sandbox Code Playgroud)