Возврат универсального списка в контроллер MVC - PullRequest
1 голос
/ 05 апреля 2011

У меня есть класс, который выглядит так:

public class item
{
    public string Tradingname { get; set; }
}

У меня есть частичное представление, которое наследуется от класса "item";

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<item>" %>

<%= Html.TextBoxFor(x => x.Tradingname) %>

На мой взгляд, я создаю несколько из них. Давайте скажем 2;

<% using (Html.BeginForm())
   { %>
<% Html.RenderPartial("TradingName", new Binding.Models.item()); %><br />
<% Html.RenderPartial("TradingName", new Binding.Models.item()); %><br />

<input type="submit" />

<%} %>

Тогда в моем контроллере я надеялся написать это;

    [HttpPost]
    public ActionResult Index(List<item> items)

или

    [HttpPost]
    public ActionResult Index([Bind(Prefix = "Tradingname")]List<item> items)

Но я не могу вернуть какие-либо данные из моих частичных представлений в мой список. Кто-нибудь знает, как я могу получить список переменных данных обратно из набора переменных PartalViews?

1 Ответ

3 голосов
/ 05 апреля 2011

Я бы порекомендовал вам использовать шаблоны редактора:

Контроллер:

public class HomeController: Controller
{
    public ActionResult Index()
    {
        List<item> model = ...
        return View(model);
    }

    [HttpPost]
    public ActionResult Index(List<item> items)
    {
        ...
    }
}

и в представлении:

<% using (Html.BeginForm()) { %>
    <%= Html.EditorForModel();
    <input type="submit" />
<% } %>

и, наконец, просто переместить частичное в ~/Views/Home/EditorTemplates/item.ascx (имя и местоположение важны):

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<item>" %>
<%= Html.TextBoxFor(x => x.Tradingname) %><br/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...