2011-12-12 102 views
0

我嘗試初始化DataView.Model的局部視圖。該頁面正常工作,但是當我返回到控制器時,模型是空的。視圖返回空模型asp.net MVC3

一些幫助(溶液或解釋爲什麼這是不對的)。 謝謝!!

代碼:

在我的局部視圖:

ViewData.Model = new DiamondPrint(); 
ViewData.Model.Diamond = m_db.DiamondInfoes.Where(di => di.Id == id).SingleOrDefault(); 

在我的控制器:

public ActionResult Preview(DiamondPrint d)//the properties in d = null 
{ 
    return View(d); 
} 
+0

請出示一些代碼。 – jrummell

+0

我編輯我的問題 – Hadas

回答

1

這裏是模型綁定一個偉大的文章。 Model Binding請確保您設置在你的HTML輸入字段的名稱屬性。

1

看着你已包括它的代碼看來你是初始化的ViewData.Model的局部視圖,但在控制器動作,您期待的默認模型綁定重新創建模型。對於模型聯編程序重新創建模型,您需要創建一個強類型視圖。

例如:

控制器:

public ActionResult Index() 
{ 
    return View(); 
} 

[HttpPost] 
public ActionResult Index(IndexModel model) 
{ 
    return View(); 
} 

型號:

public class IndexModel 
{ 
    public string MyValue { get; set; } 
} 

檢視:

注意頂部的@model定義(忽略命名空間)

@model MvcApplication14.Models.IndexModel 

@using (Html.BeginForm()) 
{ 
    @Html.Partial("_IndexPartial", Model) 

    <input type="submit" value="click"/> 
} 

管窺:

@model MvcApplication14.Models.IndexModel 

@Html.EditorFor(m => m.MyValue) 
相關問題