2010-06-16 36 views
1

Я правильно передаю имя действия от контроллера к классу подкачки и , затем используя список выбора, я хочу перенаправить на это действие. на данный момент он добавляет текущую url.i хочет правильный путь перенаправления на действие управления управляющим устройством, используя список выбора нижеasp.net mvc select change redirect to Action

Что мы должны здесь иметь в Model.COntroller. ControllerName/ActionName/или просто 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); 
    } 

ответ

7

я бы, вероятно, установить значение избранных в URL вы хотите перенаправить. Таким образом, вы можете использовать встроенные помощники для генерации ваших 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> 
+0

Работы Замечательно хорошо – maztt