Asp.net mvc 是否在asp.net mvc中正确使用textbox而不使用textboxfor helper?

Asp.net mvc 是否在asp.net mvc中正确使用textbox而不使用textboxfor helper?,asp.net-mvc,validation,html-helper,Asp.net Mvc,Validation,Html Helper,我不喜欢自动生成的代码,因此我决定从不使用Asp.net MVC的Html帮助程序,但在验证失败后保存输入值时,我会遇到一个问题,因此在使用时会保存该值 @Html.TextBoxFor(m=>m.Name) 但是当我写的时候,它并没有保存值 <input type="text" name="Name"/> 那么,如果不使用TextBoxFor Helper,我怎么能拥有同样的东西呢?这个Helper做了什么,我没有做过 我不喜欢自动生成的代码,所以我决定永远不要使用A

我不喜欢自动生成的代码,因此我决定从不使用Asp.net MVC的Html帮助程序,但在验证失败后保存输入值时,我会遇到一个问题,因此在使用时会保存该值

@Html.TextBoxFor(m=>m.Name)
但是当我写的时候,它并没有保存值

<input type="text" name="Name"/>

那么,如果不使用TextBoxFor Helper,我怎么能拥有同样的东西呢?这个Helper做了什么,我没有做过

我不喜欢自动生成的代码,所以我决定永远不要使用Asp.NETMVC的Html助手

如果您不使用帮助程序,那么您在进行ASP.NETMVC开发时将非常困难,我担心您不会走得很远。您不仅需要为输入字段设置值,还需要在输入字段上发出HTML5 data-*属性,以便进行不引人注目的客户端验证,所有这些都是由HTML助手自动处理的

如果您觉得以下内容更具可读性,则可以在视图中执行:

<input type="text" name="Name" value="@Html.Raw(HttpUtility.HtmlAttributeEncode(Model != null ? Model.Name : ""))" />

但是我不知道为什么我更喜欢写
@Html.TextBoxFor(m=>m.Name)
。我不知道,也许这只是个人喜好的问题


但是为了回答您的问题,您可以在没有助手的情况下进行ASP.NETMVC。只是您可能会发现这是一种非常不愉快的体验。

谢谢,但还有一个问题,为什么当我手动编写由@Html.TextBoxFor(m=>m.Name)生成的相同内容时,它不起作用,因为Html助手已经考虑到了模型。辅助对象正是为此目的而设计的。助手中内置了这样的逻辑。它将检查模型属性是否具有值,并在输入标记上发出相应的值属性。它还将注意正确编码此值,以便它不会破坏您的标记等。我如何阅读帮助器模板,以确切了解它的功能(这是一种心理功能,我总是浪费时间学习基础结构如何工作,而其他人则学习如何使用它)HTML帮助器是一种工具。没有模板。您必须查看相应的C代码。由于ASP.NET MVC源代码可用,您可以随时查看它:或者只需使用诸如Reflector之类的工具直接从System.Web.MVC程序集浏览它。