Use*_*ser 7 c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4
如何在mvc4中从视图到控制器获取文本框值?如果我在控制器中使用httppost方法,则无法找到页面错误.
视图
@model MVC_2.Models.FormModel
@{
ViewBag.Title = "DisplayForm";
}
@using (Html.BeginForm("DisplayForm", "FormController", FormMethod.Post))
{
<form>
<div>
@Html.LabelFor(model => model.Empname)
@Html.TextBoxFor(model => model.Empname)
@* @Html.Hidden("Emplname", Model.Empname)*@
@Html.LabelFor(model => model.EmpId)
@Html.TextBoxFor(model => model.EmpId)
@* @Html.Hidden("Emplid", Model.EmpId)*@
@Html.LabelFor(model => model.EmpDepartment)
@Html.TextBoxFor(model => model.EmpDepartment)
@* @Html.Hidden("Empldepart", Model.EmpDepartment)*@
<input type="button" id="submitId" value="submit" />
</div>
</form>
}
Run Code Online (Sandbox Code Playgroud)
模型
public class FormModel
{
public string _EmpName;
public string _EmpId;
public string _EmpDepartment;
public string Empname
{
get {return _EmpName; }
set { _EmpName = value; }
}
public string EmpId
{
get { return _EmpId;}
set {_EmpId =value;}
}
public string EmpDepartment
{
get { return _EmpDepartment; }
set { _EmpDepartment = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
调节器
public ActionResult DisplayForm()
{
FormModel frmmdl = new FormModel();
frmmdl.Empname=**How to get the textbox value here from view on submitbutton click???**
}
Run Code Online (Sandbox Code Playgroud)
Rom*_*meo 12
首先,您需要将按钮类型更改为"提交".所以您的表单值将提交给您的Action方法.
从:
<input type="button" id="submitId" value="submit" />
Run Code Online (Sandbox Code Playgroud)
至:
<input type="submit" id="submitId" value="submit" />
Run Code Online (Sandbox Code Playgroud)
其次,您需要在Action方法中将模型添加为参数.
[HttpPost]
public ActionResult DisplayForm(FormModel model)
{
var strname=model.Empname;
return View();
}
Run Code Online (Sandbox Code Playgroud)
第三,如果您的Controller名称是"FormController".您需要在视图中将Html.Beginform的参数更改为:
@using (Html.BeginForm("DisplayForm", "Form", FormMethod.Post))
{
//your fields
}
Run Code Online (Sandbox Code Playgroud)
PS如果您的视图与Action方法的名称相同,即"DisplayForm",则无需在Html.BeginForm中添加任何参数.只是为了简单.像这样:
@using (Html.BeginForm())
{
//your fields
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
74879 次 |
| 最近记录: |