这个MVC特征的名称/工作原理是什么?

时间:2018-02-21 19:52:26

标签: c# asp.net-mvc

我已经使用了MVC的这个特性,你在视图中有一个控件,让我们说一个复选框:

@Html.CheckBox("isNewlyEnrolled", true)

并在控制器中声明一个具有相同名称的参数:

[HttpPost]
public ActionResult SearchExpressionTester(string isNewlyEnrolled, SearchExpressionModel SearchExpression)

然后您可以使用控制器中复选框的值。

控制器的这个过程是否接收到我不完全理解的字符串值。我知道没有必要在模型中添加新参数。

我无法在任何MVC书籍,文章等中找到有关其如何工作的信息。将参数传递给控制器​​的技术名称是什么?

1 个答案:

答案 0 :(得分:2)

使用HTML Helpers,这就是全部。你也可以做<input type="checkbox" name="isNewlyEnrolled" checked="checked">,结果也一样。

基本上,您使用内置函数生成HTML元素。

最常用的HTML帮助程序列表:

  • Html.Beginform
  • Html.Label
  • Html.TextBox
  • Html.TextArea
  • Html.Password
  • Html.DropDownList
  • Html.CheckBox
  • Html.RadioButton
  • Html.Hidden

Html.Beginform

用法:

@using (Html.BeginForm())
{

}

产地:

<form action="..." action="post">

Html.Label

用法:

@Html.Label("Name")

产地:

<label for="Name">
    Name
</lable>

Html.TextBox

用法:

@Html.TextBox("Name", null, null) 

产地:

<input id="Name" name="Name" type="text" value="" />

Html.TextArea

用法:

@Html.TextArea("Description", null, null)  

产地:

<textarea id="Description" name="Description" rows="2" cols="20"></textarea>

Html.Password

用法:

@Html.Password("Password")  

产地:

<input id="Password" name="Password" type="password" value="" />

Html.DropDownList

用法:

@Html.DropDownList("StudentGender", new SelectList(Enum.GetValues(typeof(Gender))), "Select Gender", null) 

产地:

<select id="StudentGender" name="StudentGender">
    <option>Select Gender</option> 
    <option>Male</option> 
    <option>Female</option> 
</select>

Html.RadioButton

用法:

@Html.RadioButton("Gender", "Male")

产地:

<input checked="checked" id="Gender" name="Gender" type="radio" value="Male" />

Html.Hidden

用法:

@Html.Hidden("StudentId")

产地:

<input id="StudentId" name="StudentId" type="hidden" value="1" />

转到here了解有关ASP.NET中模型绑定的更多信息。