MVC对表单标签

时间:2016-11-01 16:50:10

标签: html asp.net-mvc asp.net-mvc-4

我刚刚创建了一个MVC项目,我的视图看起来像这样

{
    @model Models.LeadModels
    ViewBag.Title = "Add a Lead";
}
<h2>@ViewBag.Title.</h2>
<h3>@ViewBag.Message</h3>

<p>@ViewBag.SaveResult</p>

@using (Html.BeginForm("Add", "Lead"))
{
    <p>@Html.LabelFor(m => m.FirstName)
    @Html.TextBoxFor(m => m.FirstName)</p>
    <p>@Html.LabelFor(m => m.LastName)
    @Html.TextBoxFor(m => m.LastName)</p>
    <p>@Html.LabelFor(m => m.Company)
    @Html.TextBoxFor(m => m.Company)</p>
    <p>@Html.LabelFor(m => m.Province)
    @Html.TextBoxFor(m => m.Province)</p>
    <p>@Html.LabelFor(m => m.Telephone)
    @Html.TextBoxFor(m => m.Telephone)</p>
    <p>@Html.LabelFor(m => m.EmailAddress)
    @Html.TextBoxFor(m => m.EmailAddress)</p>
    <p>@Html.LabelFor(m => m.LeadStatus)
    @Html.TextBoxFor(m => m.LeadStatus)</p>
    <p><input type="submit" value="Add Lead" /></p>
}

渲染时,标签与我的模型属性相同,如文中所说“FirstName”

问题。

  1. 有没有办法使用HTML Helper方法输入不同的标签(First Name而不是FirstName)?

  2. 我们可以做些改变显示的巧妙设计吗?比如将标签设置为固定宽度,以便它们都排成一行?

  3. 有没有办法使用HTML Helper方法输出提交按钮?或者我是否需要像我一样手动编写HTML?

1 个答案:

答案 0 :(得分:0)

  

有没有办法放入不同的标签(名字而不是   FirstName)使用HTML Helper方法吗?

您可以在属性名称

上使用Display属性数据注释
public class LeadModels
{
  [Display(Name = "First name")]
  public string FirstName { set; get; }
}

LabelFor辅助方法将呈现您为Name属性提供的值

  

我们可以做些改变显示的巧妙设计吗?这样   将标签设置为固定宽度,以便它们都排成一行?

您可以使用您的css类样式的内容。您也可以考虑使用bootstrap css类,它以一种整洁的方式进行对齐

  

有没有办法使用HTML Helper方法输出提交   按钮?或者我是否需要像我一样手动编写HTML?

没有。没有帮助方法。您应该为按钮编写html标记。

此外,在asp.net核心版本中,可以使用标记帮助程序,它允许我们编写更多HTML样式代码,而不是在视图中调用C#方法。