无法将值从ajax.beginform传递给控制器​​方法

时间:2012-08-08 15:26:49

标签: 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 PartialViewResult EditP(long requestSequence,FormCollection form)
{  
    ...........
}

我可以看到Model.req值为234,但是当它到达控制器时显示为0.

当我使用form.Get("req")来收集价值时,至少会将其显示为0.

请帮助。

2 个答案:

答案 0 :(得分:0)

我相信如果您刚刚将控制器代码更改为:

[HttpPost]
public PartialViewResult EditSCP(long Req,FormCollection form)
{  
    ...........
}

然后变量Req将具有您想要的值。

希望这有帮助。

答案 1 :(得分:0)

我想,这里的模型存在一些问题,你的模型应该有get;& set;喜欢这个......

public class MyModel
{
 public long Req {get; set;}    
}