ページの下部にあるすべてのフォームフィールドが垂直に並べられ、2つのボタンが水平に並べられるように、ビューファイルのレイアウトを並べ替えようとしています。
これは、フォーマットを試みる前のコードの外観です。
@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タグを開くことはできないと思います。この問題を解決するための最良の方法は何ですか?