如何获得模型中的对象?

问题描述:

我有一个模型SiteMapModel有一个对象VirtualFolderModel里面。如何获得模型中的对象?

public class SiteMapModel 
{ 

    public SiteMapModel(DataRow data) 
    { 
     SMF_ID = Convert.ToInt32(data["SMF_ID"]); 
     SMF_VF_ID = Convert.ToInt32(data["SMF_VF_ID"]); 


     VirtualFolder = new VirtualFolderModel(data); 
    } 

    public VirtualFolderModel VirtualFolder; 

    public int SMF_ID { get; set; } 
    public int SMF_VF_ID { get; set; } 


} 

public class VirtualFolderModel 
{ 
    public VirtualFolderModel(DataRow data) 
    { 
     VF_ID = Convert.ToInt32(data["VF_ID"]); 
    } 

    public int VF_ID { get; set; } 
} 

在我的控制器中,我将模型传递给视图。

public ActionResult Edit(int id) 
    { 
     SiteMapData smd = new SiteMapData(); 
     SiteMapModel smm = new SiteMapModel(smd.GetFolderData((int)id, 15)); 

     return View(smm); 
    } 

如何在我看来使用它?

<div> 
    <span class="editor-label"> 
     @Html.Label("Title") 
    </span> 
     @Html.TextBox("SMF_Name") 
     @Html.ValidationMessage("SMF_Name") 

    <span class="editor-label"> 
     @Html.Label("VF_ID") 
    </span> 
     @Html.TextBox("VF_ID") 
     @Html.ValidationMessage("VF_ID") 

    <input type="submit" value="Save" /> 
</div> 

@Html.TextBox("VF_ID")不工作

在您的视图的顶部添加此:

@ModelType SitemapModel 

编辑:对于C#,请使用:

@model SitemapModel 

做这只会告诉你的观点是什么样的模型运行。在这种情况下,它是SitemapModel类型的对象。

在你看来,你可以参考它model.SMF_ID

+0

我得到“ModelType”这个名字不会在目前情况下 – eyalb 2011-05-05 10:54:22

+0

是否使用ASP.NET MVC 3的最终版本是否存在?你认为什么样的文件? – Rhapsody 2011-05-05 11:01:50

+0

“Edit.cshtml”,MVC3剃刀html5 – eyalb 2011-05-05 11:04:00