将HTML组件更改为标准组件
本文关键字:组件 标准 HTML | 更新日期: 2023-09-27 17:58:56
我创建了一个MVC-3应用程序(创建后,我们会看到一个已经开发好的登录屏幕)。它使用了工具箱中的HTML组件来创建文本框、标签等。但我想使用工具箱中的标准组件。如何用标准组件替换这些HTML组件。
当用户单击登录按钮时,用户名和密码将在为我们提供的默认示例应用程序中进行身份验证。我不想更改其功能,但我只想将表单组件更改为工具箱中的标准组件。
我该怎么做?
<% using (Html.BeginForm()) { %>
<%: Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.") %>
<div>
<fieldset>
<legend>Account Information</legend>
<div class="editor-label">
<%: Html.LabelFor(m => m.UserName) %>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(m => m.UserName) %>
<%: Html.ValidationMessageFor(m => m.UserName) %>
</div>
<div class="editor-label">
<%: Html.LabelFor(m => m.Password) %>
</div>
<div class="editor-field">
<%: Html.PasswordFor(m => m.Password) %>
<%: Html.ValidationMessageFor(m => m.Password) %>
</div>
<div class="editor-label">
<%: Html.CheckBoxFor(m => m.RememberMe) %>
<%: Html.LabelFor(m => m.RememberMe) %>
</div>
<p>
<input type="submit" value="Log On" />
</p>
</fieldset>
</div>
<% } %>
你在谈论这些吗:
<%: Html.TextBoxFor(m => m.UserName) %>
<%: Html.ValidationMessageFor(m => m.UserName) %>
这些被称为Html帮助程序。它们在asp.net mvc中用于生成html,这将与mvc模型绑定器配合使用。如果你想用普通的html替换它们,你总是可以查看源代码,看看渲染的html是什么,然后把它粘贴到它的位置,尽管我个人并不认为这有什么意义。这不会带来什么好结果。
但这就是上面两行所呈现的:
<input data-val="true" data-val-required="The User name field is required." id="UserName" name="UserName" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="UserName" data-valmsg-replace="true"></span>
Les看看我是否不知道,如果你说标准控件,你指的是ASP.NET服务器端控件,你不能,我的意思是至少不使用MVC,原因是"因为就像把苹果和香蕉混合在一起一样,你必须使用WebForms或MVC,如果你选择MVC,那么你必须将逻辑放在一个特定动作的控制器中,一旦点击按钮所在的窗体,就会调用该动作,但如果你不想这样做,那么就使用一个普通的旧aspx页面添加服务器端控件,并将逻辑放置在按钮的点击事件上,但你不能把MVC和WebForms毫无意义地混合在一起(我用一种很好的方式说:),它们是不同的范式。