我在一些Asp.net M中使用了Html.BeginForm(),但我不明白它的使用在哪里变成了强制性的.Why我真的需要在我的视图中使用它。这可能是一个愚蠢的问题,但我对在mvc中使用这个Html-helper感到困惑和困惑...??
下面我有搜索选项的代码,但我不知道FormMethod.Get是什么意思,所以请简要解释一下?
using(Html.BeginForm("Index","Home",FormMethod.Get))
{
<b>Search Option</b>
@Html.TextBox("Search") <input type="submit" value="Search"/>
}发布于 2017-06-21 18:22:25
Html.BeginForm是一个帮助方法,它为页面/视图的form标记生成HTML标记。当你使用它将using,它也会正确地创建一个结束表单标签(<\form>)。因此,基本上当razor执行问题中的代码时,它将生成如下标记
<form action="/Home/Index" method="get">
<!-- markup generated by other elements inside the form will goes here -->
</form>使用帮助器方法的一个好处是,它可以正确地生成正确的标记,以便您/i编写表单标记的标记和所需的属性,这很容易发生人为错误(输入错误)。此外,帮助器方法始终为action属性值生成操作方法的正确相对路径。
对于你的视图来说,使用这个方法是不必要的,。如果您更喜欢编写清晰可读的UI代码,则可以通过将helper方法调用替换为以下内容来实现
<form action="/Home/Index" method="get">
<b>Search Option</b>
<input id="Search" name="Search" type="text" value="">
<input type="submit" value="Search">
</form>在ASP.NET核心中,我们有标记助手,它允许我们编写代码来生成表单(或其他表单元素),就像上面手写的html标记一样。因此,代码基本上看起来更像是纯HTML语言,而不是C#或VB.NET
https://stackoverflow.com/questions/44672717
复制相似问题