我有一个如下文本框
@using (Html.BeginForm("checkUserType", "Place", new {type = }))
{
<div id="login">
<div class="userNameLabel">UserName</div>
<div class="userNameField"><input type="text" id="txtUserName"/><span><input type="button" value="ok" id="ok" /></span></div>
</div>
}
我想将文本框值传递给我的控制器。为此,我使用下面的代码,但它不起作用...... 请帮忙......
行动方法
[HttpPost]
public ActionResult checkUserType(string type)
{
var elements = from element in db.USERS
where element.UserType == type
select element;
if (elements == null)
{
return RedirectToAction("Index");
}
else
{
return RedirectToAction("Place/Index");
}
}
答案 0 :(得分:5)
尝试一次
window.location.href = '@Url.Action( "checkUserType", "Place" )?type='+type
答案 1 :(得分:0)
试试这个
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Index</h2>
<% Html.BeginForm("Search", "Employee");%>
<table>
<tr>
<td>
Name:
</td>
<td>
<input type="text" id="SearchText" name="SearchText" style="width: 325px" />
</td>
<td>
</td>
<td>
<input type="submit" id="Search" value="Search" />
</td>
</tr>
</table>
<% Html.EndForm();%>
你的行动就是这样......
public ActionResult Search(string searchText)
{
}
希望它可以帮到你
答案 2 :(得分:0)
MVC会将您的输入名称映射到您方法的参数。
但是,您当前的输入未指定名称:
<input type="text" id="txtUserName"/>
添加:
<input type="text" name="type" id="txtUserName"/>
它将映射到参数。并从BeginForm
中删除匿名对象,因为该值将由输入字段提供,因此不需要处于form
的操作中。
答案 3 :(得分:0)
我只是更新你的代码试试这个
@using (Html.BeginForm("checkUserType", "Place"))
{
<div id="login">
<div class="userNameLabel">
UserName</div>
<div class="userNameField">
<input type="text" id="txtUserName" name="UserName" /><span><input type="submit" value="ok" id="ok" /></span></div>
</div>
}
和控制器
public ActionResult checkUserType(string UserName)
{
string _data = UserName;
}