我正在创建我的第一个 MVC Web 应用程序(并将我的第一个问题发布到这个论坛,阅读了数百篇文章)。我的问题是如何在没有如此冗长的代码(下图)的情况下创建表单(图片位于http://www.flickr.com/photos/82728157@N04/8194924118/in/photostream/lightbox/)。由于 MVC,模型和控制器非常简洁,但是,我认为我并不真正了解如何在视图中利用 css 和 div。我的格式要求是:1)标签和字段在同一行 2)每个字段下方的验证消息不会增加字段之间的间距,如果它显示它的消息 3)标签的最后一个字母和输入边缘之间的距离盒子是恒定的。
<div style="width: 315px; height: 300px; margin: auto auto; text-align:center">
@using (Html.BeginForm()) {
<div>
<fieldset>
<div class="logon-label" style="float:left; width: 110px; margin: 10px 0px 0px 0px">
@Html.LabelFor(m => m.ClientId)
</div>
<div style="float:left; width: 110px; margin: 10px 0px 0px 0px">
@Html.TextBoxFor(m => m.ClientId, new { @class = "logon-field" })
</div>
<div style="clear:both; height:15px">
@Html.ValidationMessageFor(m => m.ClientId,null, new {@class="logon-validation"})
</div>
<div style="clear:both"></div>
<div class="logon-label" style="float:left; width: 110px; margin: 10px 0px 0px 0px">
@Html.LabelFor(m => m.UserName)
</div>
<div style="float:left; width: 110px; margin: 10px 0px 0px 0px">
@Html.TextBoxFor(m => m.UserName, new { @class = "logon-field" })
</div>
<div style="clear:both; height:15px">
@Html.ValidationMessageFor(m => m.UserName,null, new {@class="logon-validation"})
</div>
<div style="clear:both"></div>
<div class="logon-label" style="float:left; width: 110px; margin: 10px 0px 0px 0px">
@Html.LabelFor(m => m.Password)
</div>
<div style="float:left; width: 110px; margin: 10px 0px 0px 0px">
@Html.TextBoxFor(m => m.Password, new { @class = "logon-field" })
</div>
<div style="clear:both; height:15px">
@Html.ValidationMessageFor(m => m.Password,null, new {@class="logon-validation"})
</div>
<div style="clear:both"></div>
<p>
<input type="submit" style="width: 150px; font-size:large" value="Login" />
</p>