Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MVC-3和Dynamic-@Html.Label(View.X)未呈现_Dynamic_Asp.net Mvc 3_Razor - Fatal编程技术网

MVC-3和Dynamic-@Html.Label(View.X)未呈现

MVC-3和Dynamic-@Html.Label(View.X)未呈现,dynamic,asp.net-mvc-3,razor,Dynamic,Asp.net Mvc 3,Razor,使用MVC-3,Razor: --霉菌控制者-- --Index.cshtml-- 有什么区别 谢谢 Rob看起来您正在使用ASP.NET MVC 3的RC2之前版本视图模型在RC 2中更改为视图包(参见Scott Guthrie的说明) 在ASP.NET MVC 3的早期预览中,我们使用控制器基类上名为“ViewModel”的动态属性以及视图模板中名为“View”的动态属性公开了此API。许多人发现有两个不同的名称令人困惑,一些人还说在这种情况下使用名称ViewModel令人困惑,因为您经常在

使用MVC-3,Razor:

--霉菌控制者--

--Index.cshtml--

有什么区别

谢谢


Rob

看起来您正在使用ASP.NET MVC 3的RC2之前版本<代码>视图模型在RC 2中更改为<代码>视图包(参见Scott Guthrie的说明)

在ASP.NET MVC 3的早期预览中,我们使用控制器基类上名为“ViewModel”的动态属性以及视图模板中名为“View”的动态属性公开了此API。许多人发现有两个不同的名称令人困惑,一些人还说在这种情况下使用名称ViewModel令人困惑,因为您经常在ASP.NET MVC中创建强类型ViewModel类,而他们不使用此API

使用RC2,我们将在控制器和视图中公开一个名称相同的动态属性——ViewBag

看起来您确实在尝试使用
ViewModel
作为视图的强类型模型。相反,创建一个类用作模型,然后使用
@Html.LabelFor

public class PersonModel
{
    public string Name { get; set; }
}
在控制器中:

PersonModel model = new PersonModel { Name = "John" };
return View(model);
他认为:

@Html.LabelFor(model => model.Name): @Html.TextBoxFor(model => model.Name)
这使得:

<label for="Name">Name</label>: <input id="Name" name="Name" type="text" value="John" />
名称:

HTH

漂泊,感谢您的回复。感谢您的提示,让我的应用程序转移到最新的MVC。你说得对,我应该在所有这些视图中使用模型作为经验法则。我会走这条路,省去取景袋的麻烦。(顺便说一句,我在迁移到较新的MVC后测试了我的应用程序,但它仍然存在相同的问题。是时候买个模型了!)再次感谢您的回复!
public class PersonModel
{
    public string Name { get; set; }
}
PersonModel model = new PersonModel { Name = "John" };
return View(model);
@Html.LabelFor(model => model.Name): @Html.TextBoxFor(model => model.Name)
<label for="Name">Name</label>: <input id="Name" name="Name" type="text" value="John" />