Передача параметров в метод Action - PullRequest
0 голосов
/ 27 июня 2011

У меня есть несколько параметров фильтра в форме.Я дал метод действия в качестве действия.Код выглядит примерно так:

<% using (Ajax.BeginForm
       (new AjaxOptions { UpdateTargetId = "accountsGrid" }))
       { %>
<body style="overflow: scroll">
 <%= Html.TextBox("subAccNumber",accId) %>
 <%= Html.TextBox("accountName", Name)%>
 <%= Html.TextBox("address", address)%>
    <%} %>

<%Html.RenderAction("SelectAccounts"); %>

</body>

public PartialViewResult SelectAccounts(string accId,string accountName,string address)
        {
             // Do some stuff
                     return PartialView();
}

Могу ли я создать словарь или что-то из всех входных параметров (элементов управления формы) и напрямую перейти к методу действия?Или я должен добавить отдельный параметр для каждого элемента управления?

1 Ответ

0 голосов
/ 28 июня 2011

У вас есть несколько вариантов:

  1. Создание модели представления (рекомендуемый подход):

    public class AccountViewModel
    {
        public string SubAccNumber { get; set; }
        public string AccountName { get; set; }
        public string Address { get; set; }
    }
    

    и ваш контроллер примет эту модель представления в качестве аргумента:

    public PartialViewResult SelectAccounts(AccountViewModel account) { ... }
    
  2. Ваша текущая реализация, где параметры передаются в качестве аргументов действия

  3. Извлечь параметры из запроса:

    public ActionResult SelectAccounts() 
    { 
        var subAccNumber = Request["subAccNumber"];
        var accountName = Request["accountName"];
        var address = Request["address"];
        ...
    }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...