Muh*_*raz 39 asp.net asp.net-mvc asp.net-mvc-5
我正在研究MVC 5 Asp.Net并遵循本教程.我想知道当我点击过滤按钮时如何获取结果?
在Movie/view/Index.cshtml中添加了此代码
@using (Html.BeginForm())
{
<p> Title: @Html.TextBox("SearchString") <br />
<input type="submit" value="Filter" /></p>
}
Run Code Online (Sandbox Code Playgroud)
据我所知,它在屏幕上创建了一个文本框和一个按钮.但是这个按钮如何调用搜索(索引)函数并在函数中传递textbox的值,我无法得到它.
Dej*_*n.S 58
这不是一个愚蠢的问题.@html.BeginForm()
像这样工作.它有一些你可以添加的参数Action
Controller
FormType
htmlAttributes
.它的工作方式是,如果你把它留空,它将寻找一个与你现在的页面同名的帖子动作,例如,如果你在登录页面上,它将寻找登录后的动作.我总是写什么action
,controller
我希望它访问.
@Html.BeginForm("AddUser", "Admin", FormMethod.Post, new { @class = "my_form"}) {
}
Run Code Online (Sandbox Code Playgroud)
所以,你post action
应该接受你的表单包含的参数,并且可以是Model
即Product
,ViewModel
或者单个字符串参数.在您搜索的情况下,您的操作应如下所示
[HttpPost]
public ActionResult Search(string SearchString)
{
//do something here
}
Run Code Online (Sandbox Code Playgroud)
请注意这里,将搜索字符串传递给方法.该名称<input>
必须与您的操作所采用的参数相同.所以我们的形式应该是这样的
@using (Html.BeginForm("Search", "YOUR CONTROLLER", FormMethod.Post)){
<p> Title: @Html.TextBox("SearchString") <br />
<input type="submit" value="Filter" /></p>
}
Run Code Online (Sandbox Code Playgroud)
希望这能带来清晰.
归档时间: |
|
查看次数: |
77991 次 |
最近记录: |