将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组件更改为标准组件

你在谈论这些吗:

<%: 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毫无意义地混合在一起(我用一种很好的方式说:),它们是不同的范式。