سوالتون رو درست متوجه نشدم .
من دوتا اکشن دارم که میخام در یک ویو نمایش بدم.
اگر میخواید ویو 2 اکشن رو داخل 1 ویو داشته باشید ، میتونید خروجی اکشن اول رو داخل یک PartialView برگردونید و بالای اکشن ChildActionOnly رو بصورت Attribute قرار بدید و در ویو اصلی از Html.Action استفاده کنید و اون اکشن رو در ویو رندر کنید.
آیا راهی هست که در یک ویو بتونم چندتا مدل داشته باشم؟
شما هر تعداد مدل که بخواید میتونید داخل 1 ویو داشته باشید با استفاده از ViewModel :
public class AddFoodViewModel
{
public List<SelectListItem> List { get; set; }
public Foods.Models.DomainModels.Food Food { get; set; }
public ICollection<Foods.Models.DomainModels.Food> Foods { get;set; }
...
}
اما دقت کنید اگر در اکشن از ViewModel بعنوان Model استفاده میکنید ، در اکشنی که فرم Submit میشه هم باید همون ViewModel رو بعنوان ورودی دریافت کنید :
[HttpPost]
public ActionResult AddFood(AddFoodViewModel model)
{
//...
}
اگر هم میخواید تعدادی فیلد Dynamic رو از ویو بگیرید در ورودی میتونید از params[] استفاده کنید.
View :
@{
// start:Form
for(int i=0; i <= 10; i++;)
{
<input type="text" name="dynamicField" value="@i">
}
<input type="submit" name="Submit">
// End:Form
}
Controller :
public ActionResult AddFood(params string[] dynamicField)
{
foreach(var item in dynamicField)
{
// ...
}
}
اگر منظورتون رو من اشتباه فهمیدم ، سوالتون رو واضح تر بپرسید .