将HTML组件更改为标准组件

时间:2013-02-12 21:47:32

标签: c# asp.net asp.net-mvc-3

我创建了一个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>
<% } %>

2 个答案:

答案 0 :(得分:1)

你在谈论这些:

<%: 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>

答案 1 :(得分:0)

Les看看我是不是想要,如果你说标准控件你的意思是ASP.NET服务器端控件你不能指我至少不使用MVC,原因是'因为就像混合苹果和香蕉你必须使用无论是WebForms还是MVC,如果你选择MVC,那么你必须将逻辑放在一个特定动作的控制器中,一旦单击按钮所在的形式就会被调用,但如果你不想这样做,那么使用一个普通的旧aspx页面添加服务器端控件并将逻辑放在按钮的click事件上,但你不能混合使用MVC和WebForms(我说的很好:) :)它们是不同的范例