Asp.net 我使用 Html.BeginForm() 的地方



我在某些 Asp.net M中使用Html.BeginForm(),但我不明白它在哪里成为强制性的。为什么我真的需要在我的视图中使用它..?这可能是一个愚蠢的问题,但我对在 mvc 中使用这个 HTML 助手感到困惑和困惑......??

下面我有搜索选项的代码,但我不知道FormMethod.Get的含义是什么,所以请简要解释一下?

using(Html.BeginForm("Index","Home",FormMethod.Get))
{ 
<b>Search Option</b>
@Html.TextBox("Search") <input type="submit"  value="Search"/>
}
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 代码,你可以通过将帮助程序方法调用替换为类似

<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 Core中,我们有标签助手,它允许我们编写代码来生成表单(或其他表单元素),接近上述手写的html标记。所以代码基本上看起来更像纯HTML,而不是C#或 VB.NET

最新更新