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属性。延迟加载造成了一个问题。