Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 在ASP.NET MVC3中布局不同表单上的数据_Html_Asp.net Mvc 3_Razor_Html Table - Fatal编程技术网

Html 在ASP.NET MVC3中布局不同表单上的数据

Html 在ASP.NET MVC3中布局不同表单上的数据,html,asp.net-mvc-3,razor,html-table,Html,Asp.net Mvc 3,Razor,Html Table,我试图对视图文件的布局进行排序,以便所有表单字段垂直排列,两个按钮在页面底部水平排列 这是我尝试格式化代码之前代码的外观: @using (Html.BeginForm()) { <p> @Html.LabelFor(m => m.UserName) @Html.EditorFor(n => n.UserName) @Html.ValidationMessageFor(m => m.UserName) </p> <p&g

我试图对视图文件的布局进行排序,以便所有表单字段垂直排列,两个按钮在页面底部水平排列

这是我尝试格式化代码之前代码的外观:

@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())
{

@LabelFor(m=>m.UserName)
@EditorFor(n=>n.UserName)
@Html.ValidationMessageFor(m=>m.UserName)

@LabelFor(m=>m.Role) @DropDownListFor(m=>m.Role,Model.Roles,“--Role--”) @Html.ValidationMessageFor(m=>m.Role)

@LabelFor(m=>m.InsertDate) @EditorFor(n=>n.InsertDate) @Html.ValidationMessageFor(m=>m.InsertDate)

@LabelFor(m=>m.ActiveInd) @EditorFor(n=>n.ActiveInd) @Html.ValidationMessageFor(m=>m.ActiveInd)

} @使用(Html.BeginForm(“Index”、“ZUserRole”、“GET”)) { }
当这在页面上呈现时,所有字段都脱线,按钮位于不同的水平线上。我试着用一张桌子来解决这个问题。但是,由于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>

@使用(Html.BeginForm())
{
@LabelFor(m=>m.UserName)
@EditorFor(n=>n.UserName)
@Html.ValidationMessageFor(m=>m.UserName)
@LabelFor(m=>m.Role)
@DropDownListFor(m=>m.Role,Model.Roles,“--Role--”)
@Html.ValidationMessageFor(m=>m.Role)
@LabelFor(m=>m.InsertDate)
@EditorFor(n=>n.InsertDate)
@Html.ValidationMessageFor(m=>m.InsertDate)
@LabelFor(m=>m.ActiveInd)
@EditorFor(n=>n.ActiveInd)
@Html.ValidationMessageFor(m=>m.ActiveInd)
}
@使用(Html.BeginForm(“Index”、“ZUserRole”、“GET”))
{
}

这将导致由解析错误引起的异常。我猜您不能在BeginForm函数的任何一侧打开html标记。解决此问题的最佳方法是什么?

最简单的方法是使用CSS

我想你知道如何使用CSS


如果没有的话,还有很多教程可以学习,比如这本:

最简单的方法是使用CSS

我想你知道如何使用CSS


如果没有足够的教程,您可以遵循,例如下面的一个:

在这种情况下,您需要为标签或第一个td单元指定一个固定的宽度。在上面的表示例中,如果给第一个TD子项一个固定的宽度,则所有标签都将对齐。话虽如此,也要给每一个表格自己的表格;如果第一个单元格的宽度是固定的,那么不管使用多少个表,它们都会排成一行


HTH.

在这种情况下,您需要为标签或第一个td单元指定一个固定的宽度。在上面的表示例中,如果给第一个TD子项一个固定的宽度,则所有标签都将对齐。话虽如此,也要给每一个表格自己的表格;如果第一个单元格的宽度是固定的,那么不管使用多少个表,它们都会排成一行


HTH.

使用无表设计将是最佳选择。如果仍要使用表,请尝试以下操作:

<table>
<tr>
<td>
@using (Html.BeginForm())
{
<table>
<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>
</tr></table>
    }
</td>
    <td valign="bottom">
     @using (Html.BeginForm("Index", "ZUserRole", "GET"))
    {
    <input type="submit" value="cancel"/>
        }
     </td>
     </tr>

     </table>

@使用(Html.BeginForm())
{
@LabelFor(m=>m.UserName)
@EditorFor(n=>n.UserName)
@Html.ValidationMessageFor(m=>m.UserName)
@LabelFor(m=>m.Role)
@DropDownListFor(m=>m.Role,Model.Roles,“--Role--”)
@Html.ValidationMessageFor(m=>m.Role)
@LabelFor(m=>m.InsertDate)
@EditorFor(n=>n.InsertDate)
@Html.ValidationMessageFor(m=>m.InsertDate)
@LabelFor(m=>m.ActiveInd)
@EditorFor(n=>n.ActiveInd)
@Html.ValidationMessageFor(m=>m.ActiveInd)
}
@使用(Html.BeginForm(“Index”、“ZUserRole”、“GET”))
{
}

使用无表设计将是最佳选择。如果仍要使用表,请尝试以下操作:

<table>
<tr>
<td>
@using (Html.BeginForm())
{
<table>
<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>
</tr></table>
    }
</td>
    <td valign="bottom">
     @using (Html.BeginForm("Index", "ZUserRole", "GET"))
    {
    <input type="submit" value="cancel"/>
        }
     </td>
     </tr>

     </table>

@使用(Html.BeginForm())
{
@LabelFor(m=>m.UserName)
@EditorFor(n=>n.UserName)
@Html.ValidationMessageFor(m=>m.UserName)
@LabelFor(m=>m.Role)
@DropDownListFor(m=>m.Role,Model.Roles,“--Role--”)
@Html.ValidationMessageFor(m=>m.Role)
@LabelFor(m=>m.InsertDate)
@EditorFor(n=>n.InsertDate)
@Html.ValidationMessageFor(m=>m.InsertDate)
@LabelFor(m=>m.ActiveInd)
@EditorFor(n=>n.ActiveInd)
@Html.ValidationMessageFor(m=>m.ActiveInd)
}
@使用(Html.BeginForm(“Index”、“ZUserRole”、“GET”))
{
}

我将两个不同的提交按钮放在同一个表单上,这样它们就可以很容易地排列起来。然后,我将它们提交给两个单独的控制器操作方法,它们用一个自定义属性[HandlesSubmitFrom(name=“XXXXX”)]注释,其中名称对应于相关提交按钮的名称。为了实现这一点,我必须对第二个操作方法的名称稍有不同(因为它们具有相同的签名),但将注释[ActionName(“Index”)]放在上面。

我将两个不同的提交按钮放在同一个表单上,这样它们就可以很容易地对齐。然后,我将它们提交给两个单独的控制器操作方法,它们用一个自定义属性[HandlesSubmitFrom(name=“XXXXX”)]注释,其中名称对应于相关提交按钮的名称。要使其发挥作用,我必须对第二个操作方法的名称稍有不同(因为它们具有相同的签名),但将注释[ActionName(“Index”)]放在上面。

使用divs对控件进行分组。然后使用css来设置div的样式。您不应该使用表来表示l