2016-02-19 3 views
0

ViewModelКак передать модель в частичное представление во время выполнения?

public class ModelTypeViewModel 
    { 
    public virtual CheckRadioButton CRB { get; set; } 


} 

Контроллер

public class M1Controller : Controller 
{ 
    public CarContext db = new CarContext(); 

    private CheckRadioButton get() 
    { 
     CheckRadioButton c = new CheckRadioButton(); 
     c.BrandName = "abc"; 
     c.type = "xyz"; 
     return c; 

    } 
    public ActionResult Hello() 
    { 
     CheckRadioButton s = get(); 
     ModelTypeViewModel mm = new ModelTypeViewModel(s); 


     return View(mm); 

    } 

Вид: (Hello)

@model Car.Models.ModelTypeViewModel 
@Html.Partial("_Display", Model.CRB) 

Частичный вид (_Display)

<h1> Hello </h1> 

Как я могу передать дифф модель каждый время для частичного просмотра?

Это дает ошибку

«Исключение типа„System.Web.HttpParseException“произошло в System.Web.WebPages.Razor.dll, но не был обработан в пользовательском коде»

Это дает ту же ошибку, даже если я прохожу только «Модель» Я смущен

+0

Вы должны дать немного больше информации, чем только что. Код, который вы показали, будет работать нормально, если модель, соответствующая вашему представлению '_Display.cshtml', верна. –

+0

В контроллере: общественный ActionResult Hello() { обратный вид()} В Вид: @model Car.Models.ModelTypeViewModel @ {Html.Partial ("_ Display", модель.)} в частичном:

Привет

Это просто базовый материал, я не знаю, почему он не работает. – Nil

+0

опубликуйте свои «Модели» без него, на вопрос не может быть ответили правильно – anand

ответ

0

Положите каждую кнопку внутри Ajax.BeginForm

@using (Ajax.BeginForm("BuyItem", "MsmqTest"}, new AjaxOptions { UpdateTargetId = "msmqpartial" })) 
{ <button type="submit">Buy</button>} 
@using (Ajax.BeginForm("BuyItem", "MsmqTest" }, new AjaxOptions { UpdateTargetId = "msmqpartial" })) 
{ 
    <button type="submit">Sell</button> 
} 

Где «updateTargetId» является ДИВЫМ идентификатор для добавления содержания

public ActionResult BuyItem() 
     { 
     if(//some condition goes here) 
      return PartialView("Partial1",data); 
     if(//some condition goes here) 
      return PartialView("Partial2",data); 
     } 
+0

На самом деле я хочу называть разные частичные виды для кликов по кнопкам. – Nil

+0

Обновлено Пожалуйста, проверьте –

+0

Спасибо! Но, вы используете несколько методов действий, я должен использовать метод одиночного действия. – Nil

Смежные вопросы