现在我只输出我的值
<input type="text" class="form-control" value="@Name" id="name" placeholder="Name">
但是我看到很多关于@HTML显示的东西?
我应该使用HTML显示,如果使用,是如何以及为什么?
答案 0 :(得分:1)
Html帮助程序类用于封装在一次调用中编写大量html代码:
- 实际字段
- 根据您的模型验证规则字段属性
- 验证地点持有人
- 价值约束
另外,允许您在一个位置更改所有字段的行为和html。
像许多其他东西一样,它是一种工具......答案 1 :(得分:0)
你可以这样做。 @ Html.TextBox和@ Html.TextBoxFor将自动为您生成html,但如果您愿意,您可以自己生成。
就个人而言,我更喜欢编写自己的HTML,但那只是我......
答案 2 :(得分:0)
@符号允许您访问cshtml文件中的c#代码,这样您就可以混合使用html和c#代码来生成最终的html输出。有关详细信息,请搜索C#Razor语法,此处包含更多信息http://www.w3schools.com/aspnet/razor_syntax.asp和http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx/
的链接使用Razor语法的好处是能够访问辅助c#方法,全局变量,从控制器传递的视图模型变量对象,查看编译时错误(默认情况下,它在visual studio中关闭,检查{ {3}}了解更多信息),您不需要使用javascript动态填充表单或其他字段......等等
缺点是您的代码需要编译为html,因此浏览器可以处理它,语法错误可能会导致整个页面崩溃,如果您决定切换后端引擎,则您的cshtml代码不可移植......等等