2016-02-19 36 views
0

視圖模型如何在運行時將模型傳遞給partialview?

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); 

    } 

查看:(你好)

@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你好(){ 返回視圖()} 在View: @model Car.Models.ModelTypeViewModel @ {Html.Partial( 「_顯示」 模型。)} 在局部視圖:

這只是一個基本的東西,我不知道它爲什麼不工作。 – 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」是div id來追加內容

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

相關問題