Asp.net mvc 3 mvc3将按钮名称传递给post
按钮名称未传递给我的操作方法 以下是我的观点(简化):Asp.net mvc 3 mvc3将按钮名称传递给post,asp.net-mvc-3,Asp.net Mvc 3,按钮名称未传递给我的操作方法 以下是我的观点(简化): btnSubmit值始终为空。我需要做哪些不同的事情?绑定到方法签名的是名称,而不是id 使用以下命令: public ActionResult HandleSubmit(string AddLineItem, string AddNewOrder) { /* ... code ... */ if(!string.IsNullOrEmpty(AddLineItem)) { } else if(!strin
btnSubmit值始终为空。我需要做哪些不同的事情?绑定到方法签名的是
名称,而不是id
使用以下命令:
public ActionResult HandleSubmit(string AddLineItem, string AddNewOrder)
{
/* ... code ... */
if(!string.IsNullOrEmpty(AddLineItem)) {
}
else if(!string.IsNullOrEmpty(AddNewOrder)) {
}
/* ... code ... */
}
@model MvcApplication3.Controllers.MyModel
@using (Html.BeginForm("HandleSubmit", "Home", FormMethod.Post))
{
@Html.EditorFor(x => Model.Order)
<input id="btnAddLineItem" type="submit" name="AddLineItem" value="AddLineItem" />
}
请记住,表单post将向服务器发送多部分/表单数据集合的名称/值
对。绑定到方法签名的是名称
,而不是id
使用以下命令:
public ActionResult HandleSubmit(string AddLineItem, string AddNewOrder)
{
/* ... code ... */
if(!string.IsNullOrEmpty(AddLineItem)) {
}
else if(!string.IsNullOrEmpty(AddNewOrder)) {
}
/* ... code ... */
}
@model MvcApplication3.Controllers.MyModel
@using (Html.BeginForm("HandleSubmit", "Home", FormMethod.Post))
{
@Html.EditorFor(x => Model.Order)
<input id="btnAddLineItem" type="submit" name="AddLineItem" value="AddLineItem" />
}
请记住,表单post将向服务器发送多部分/表单数据
集合的名称/值
对。您不会以任何方式发送任何名称或值的按钮ID
我建议您制作一个具有以下两个属性的模型:
在get方法中,创建模型的实例:
public ActionResult HandleSubmit()
{
MyModel model = new MyModel();
return View(model);
}
在post方法中,使用模型的属性获取值
[HttpPost, ActionName("HandleSubmit")]
public ActionResult HandleSubmit(MyModel model)
{
switch (model.Order)
{
case "AddLineItem":
break;
case "AddNewOrder":
break;
}
return View("OrderDetails");
}
您的视图可以如下所示:
public ActionResult HandleSubmit(string AddLineItem, string AddNewOrder)
{
/* ... code ... */
if(!string.IsNullOrEmpty(AddLineItem)) {
}
else if(!string.IsNullOrEmpty(AddNewOrder)) {
}
/* ... code ... */
}
@model MvcApplication3.Controllers.MyModel
@using (Html.BeginForm("HandleSubmit", "Home", FormMethod.Post))
{
@Html.EditorFor(x => Model.Order)
<input id="btnAddLineItem" type="submit" name="AddLineItem" value="AddLineItem" />
}
@model mvcapapplication3.Controllers.MyModel
@使用(Html.BeginForm(“HandleSubmit”、“Home”、FormMethod.Post))
{
@EditorFor(x=>Model.Order)
}
您不能以任何方式以任何名称或值发送按钮ID
我建议您制作一个具有以下两个属性的模型:
在get方法中,创建模型的实例:
public ActionResult HandleSubmit()
{
MyModel model = new MyModel();
return View(model);
}
在post方法中,使用模型的属性获取值
[HttpPost, ActionName("HandleSubmit")]
public ActionResult HandleSubmit(MyModel model)
{
switch (model.Order)
{
case "AddLineItem":
break;
case "AddNewOrder":
break;
}
return View("OrderDetails");
}
您的视图可以如下所示:
public ActionResult HandleSubmit(string AddLineItem, string AddNewOrder)
{
/* ... code ... */
if(!string.IsNullOrEmpty(AddLineItem)) {
}
else if(!string.IsNullOrEmpty(AddNewOrder)) {
}
/* ... code ... */
}
@model MvcApplication3.Controllers.MyModel
@using (Html.BeginForm("HandleSubmit", "Home", FormMethod.Post))
{
@Html.EditorFor(x => Model.Order)
<input id="btnAddLineItem" type="submit" name="AddLineItem" value="AddLineItem" />
}
@model mvcapapplication3.Controllers.MyModel
@使用(Html.BeginForm(“HandleSubmit”、“Home”、FormMethod.Post))
{
@EditorFor(x=>Model.Order)
}