我正在尝试对视图文件的布局进行排序,以便所有表单字段都垂直排列,两个按钮在页面底部水平排列。
这是我尝试格式化之前代码的样子:
@using (Html.BeginForm())
{
<p>
@Html.LabelFor(m => m.UserName)
@Html.EditorFor(n => n.UserName)
@Html.ValidationMessageFor(m => m.UserName)
</p>
<p>
@Html.LabelFor(m => m.Role)
@Html.DropDownListFor( m => m.Role, Model.Roles, "-- Role --")
@Html.ValidationMessageFor(m => m.Role)
</p>
<p>
@Html.LabelFor(m => m.InsertDate)
@Html.EditorFor(n => n.InsertDate)
@Html.ValidationMessageFor(m => m.InsertDate)
</p>
<p>
@Html.LabelFor(m => m.ActiveInd)
@Html.EditorFor(n => n.ActiveInd)
@Html.ValidationMessageFor(m => m.ActiveInd)
</p>
<p>
<input type="submit" value="save"/>
</p>
}
@using (Html.BeginForm("Index", "ZUserRole", "GET"))
{
<input type="submit" value="cancel"/>
}
当它在页面上呈现时,字段都脱节了,按钮位于不同的水平线上。我试图通过使用表格来解决这个问题。但是,由于 Html.BeginForm 函数,这遇到了问题。这是我的尝试:
<table>
@using (Html.BeginForm())
{
<tr>
<td>
@Html.LabelFor(m => m.UserName)
</td>
<td>
@Html.EditorFor(n => n.UserName)
@Html.ValidationMessageFor(m => m.UserName)
</td>
</tr>
<tr>
<td>
@Html.LabelFor(m => m.Role)
</td>
<td>
@Html.DropDownListFor( m => m.Role, Model.Roles, "-- Role --")
@Html.ValidationMessageFor(m => m.Role)
</td>
</tr>
<tr>
<td>
@Html.LabelFor(m => m.InsertDate)
</td>
<td>
@Html.EditorFor(n => n.InsertDate)
@Html.ValidationMessageFor(m => m.InsertDate)
</td>
</tr>
<tr>
<td>
@Html.LabelFor(m => m.ActiveInd)
</td>
<td>
@Html.EditorFor(n => n.ActiveInd)
@Html.ValidationMessageFor(m => m.ActiveInd)
</td>
</tr>
<tr>
<td>
<input type="submit" value="save"/>
</td>
}
<td>
@using (Html.BeginForm("Index", "ZUserRole", "GET"))
{
<input type="submit" value="cancel"/>
}
</td>
</tr>
</table>
这会导致解析错误导致的异常。我猜你不能在 BeginForm 函数的任何一侧打开 html 标签。解决这个问题的最佳方法是什么?