我正确地将操作名称从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);
}
答案 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>