gpt4 book ai didi

asp.net - @Html.BeginForm() 如何工作? Microsoft ASP.Net MVC 5 教程中的搜索结果?

转载 作者:行者123 更新时间:2023-12-03 07:18:27 26 4
gpt4 key购买 nike

我正在开发 MVC 5 Asp.Net 并关注 this教程。我想知道当我单击“过滤器”按钮时,这到底是如何获取结果的?

有时会在 Movie/view/Index.cshtml 中添加此代码

@using (Html.BeginForm())
{
<p> Title: @Html.TextBox("SearchString") <br />
<input type="submit" value="Filter" /></p>
}

现在据我所知,它会在屏幕上创建一个文本框和一个按钮。但是这个按钮是如何调用search(index)函数并在函数中传递文本框的值的,我无法得到这个。

最佳答案

这不是一个愚蠢的问题。 @html.BeginForm()像这样工作。它有一些您可以添加的参数,例如 Action Controller FormType htmlAttributes 。它的工作方式是,如果您将其留空,它将查找与您现在所在页面同名的发布操作,例如,如果您位于登录页面,它将查找登录发布操作。我总是写什么actioncontroller我想让它访问。

@Html.BeginForm("AddUser", "Admin", FormMethod.Post, new { @class = "my_form"}) {

}

所以你的post action应该接受表单包含的参数,可以是 ModelProduct , ViewModel或单个字符串参数。在您的搜索情况下,您的操作应该类似于

[HttpPost]
public ActionResult Search(string SearchString)
{
//do something here
}

请注意此处,搜索字符串将传递到该方法中。名称<input>必须与您的操作采用的参数相同。所以我们的表单应该是这样的

@using (Html.BeginForm("Search", "YOUR CONTROLLER", FormMethod.Post)){    
<p> Title: @Html.TextBox("SearchString") <br />
<input type="submit" value="Filter" /></p>
}

希望这能带来清晰的结果。

关于asp.net - @Html.BeginForm() 如何工作? Microsoft ASP.Net MVC 5 教程中的搜索结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26574312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com