Список И отправить в том же виде.Как это возможно? - PullRequest
1 голос
/ 10 октября 2011

Я сейчас разрабатываю сайт, используя бритву mvc 3, но у меня есть небольшая проблема Я хочу сделать представление, которое содержит форму отправки и список. «Добавить товар» и «Список товаров» должны быть в одном представлении. Сначала я подумал, что частичное представление будет решением, но не могу понять, как заставить это работать. Понятия не имею, как передать список объектов (продуктов) в частичное представление. У кого-то есть идеи, как решить мою проблему?

Ответы [ 3 ]

1 голос
/ 10 октября 2011

Частицы не требуются для того, чего вы пытаетесь достичь, хотя они могут быть полезны для разделения ваших проблем.

Чтобы ответить на ваш вопрос, вы можете передать объект в строго типизированное частичное представление, передав его в качестве второго аргумента, например так:

@Html.Partial("_MyPartialName", Model.ThingIWantToPass)

В этом примере это будет строго типизированный партиал того же типа, что и Model.ThingIWantToPass.

1 голос
/ 10 октября 2011

MainView-Model:

public MainViewModel{

      public IList<Product> AvailableProducts{
           get; set;
      }
      public IList<Product> SelectedProducts{
           get; set;
      }
}

Mainview:

 @Html.RenderPartial("_SelectedProductsPartial", Model.SelectedProducts)  

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

 @model IList<Product>

Контроллер:

 public ActionResult MainView(){

 MainViewModel model = new MainViewModel();
 model.AvailableProducts = ...;
 model.SelectedProducts = ...;

 return View(model);
0 голосов
/ 10 октября 2011

Отображаемая часть

// In your action method
IList<ProductViewModel> productListViewModel = new List<ProductViewModel>();
return PartialView(productListViewModel);


//Your view model:


@model IEnumerable<YourNamespace.WebUI.Models.ProductViewModel>

@for(int i = 0; i < Model.Count(); i++){
   // Assuming your product has a name property
   @Html.DisplayFor(model => model.Name);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...