【问题标题】:<asp:TextBox> Vs <input type="text"> Vs Html.TextBox<asp:TextBox> 与 <input type="text"> 与 Html.TextBox
【发布时间】:2012-05-01 17:31:30
【问题描述】:

我在 asp.net 应用程序中工作,添加表单元素、验证和从 DB 填充数据等功能。

  1. 我可以使用 ASP: 控件,但我想知道是否可以使用 HTML.TextBox&lt;input type="text"&gt;

  2. 如果我可以使用&lt;input type="text"Html.TextBox,使用它们与使用它们的优缺点是什么

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 html.textbox


    【解决方案1】:

    忘记 ASP.NET MVC 中的服务器端控件。包含runat="server" 的所有内容在 ASP.NET MVC 中都是一个很大的NO。无论如何都不会在 Razor 中工作。没有优点和缺点。永远不要使用服务器端控件,因此没有什么可比较的。只需使用 HTML 帮助程序,例如 Html.EditorForHtml.TextBoxFor

    【讨论】:

    • 我的应用程序是 asp.net 并且猜它不是 MVC ......所以 Razor 无法正确识别......此外,您能否详细说明您所做的“不应使用服务器端控件”的强烈声明
    • @Ajax3.14,服务器端控件依赖于事件、回发和视图状态。这些是 ASP.NET MVC 中不再存在的概念。它们已被 html 助手取代。因此,如果您正在开发 ASP.NET MVC 应用程序,您应该使用 HTML 帮助程序。
    【解决方案2】:

    如果您使用的是 ASP.NET MVC,那么手动输入 (&lt;input type="text" /&gt;) 或辅助扩展 (Html.TextBoxFor(x =&gt; x.SomeProperty)) 将是您的最佳选择,这实际上取决于您的计划正在做。如果您正在制作的控件在您的元素上没有属性,则只需手动编码输入标签会容易得多。

    切勿在 MVC 应用程序中使用 &lt;asp:Checkbox ID="blah" runat="server" /&gt;

    【讨论】:

    • 我的应用程序只是 asp.net,所以您认为您的答案仍然适用于 asp.net..我可以使用 (Html.TextBoxFor(x => x.SomeProperty))
    • 如果是传统的 WebForms,则完全相反。
    猜你喜欢
    • 1970-01-01
    • 2014-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    相关资源
    最近更新 更多