C# 无法将值从ajax.beginform传递给控制器';s法
查看:C# 无法将值从ajax.beginform传递给控制器';s法,c#,asp.net-mvc,asp.net-mvc-3,razor,C#,Asp.net Mvc,Asp.net Mvc 3,Razor,查看: @using (Ajax.BeginForm("EditP", "P",new AjaxOptions { InsertionMode = InsertionMode.Replace, HttpMethod = "POST", UpdateTargetId = "divReplace" })) { @Html.HiddenFor(model => model.Req,new {@id="req"}); } [HttpPost] public Partial
@using (Ajax.BeginForm("EditP", "P",new AjaxOptions { InsertionMode = InsertionMode.Replace, HttpMethod = "POST", UpdateTargetId = "divReplace" }))
{
@Html.HiddenFor(model => model.Req,new {@id="req"});
}
[HttpPost]
public PartialViewResult EditP(long requestSequence,FormCollection form)
{
...........
}
控制器:
@using (Ajax.BeginForm("EditP", "P",new AjaxOptions { InsertionMode = InsertionMode.Replace, HttpMethod = "POST", UpdateTargetId = "divReplace" }))
{
@Html.HiddenFor(model => model.Req,new {@id="req"});
}
[HttpPost]
public PartialViewResult EditP(long requestSequence,FormCollection form)
{
...........
}
我可以看到Model.req
值为234,但当它到达控制器时显示为0
至少当我使用form.Get(“req”)
收集值时,它也显示为0
请帮忙。我相信如果您刚刚将控制器代码更改为:
[HttpPost]
public PartialViewResult EditSCP(long Req,FormCollection form)
{
...........
}
然后变量Req将具有您想要的值
希望这有帮助。我想,这里的模型有些问题,你的模型应该有
get代码>&设置代码>像这样
public class MyModel
{
public long Req {get; set;}
}
要改进格式,请尝试在函数前面添加四个空格,而不是使用“`”,事实上,我的模型是这样的:public分部类MyModel:Request{public long id{get;set;}
其中as'Request'模型具有Req属性。延迟加载造成了一个问题。实际上,我的模型是这样的:public分部类MyModel:Request{public long id{get;set;}}
其中as'Request'模型具有Req属性。延迟加载造成了一个问题。