TryUpdateModel带有简单的字符串

时间:2015-02-10 20:03:13

标签: asp.net-mvc

我正在用CSHTML做一个简单的AJAX POST。在帖子中,我传递了一个字符串。

 $.ajax({
      type: "POST",
      url: '@Url.Action("Test","Controller"',
      contentType: "application/json; charset=utf-8",
      data: JSON.stringify({ pt: 'testString' }),
      cache: false,
      success: function(data) {
      }
 });

我想在控制器中获取此值,如下所示 -

[HttpPost]
public JsonResult Test()
{
       var pt = string.empty;
       TryUpdateModel(pt);
       // Do some processing and return a value
       return Json(true);
}

但我的pt总是空着。另外,请给我解决价值类型的工作。

2 个答案:

答案 0 :(得分:1)

试试这个:

[HttpPost]
public JsonResult Test()
{
       var pt = Request.Params["pt"]
       // Do some processing and return a value
       return Json(true);
}

OR

class PtModel { public string pt { get; set; } }
[HttpPost]
public JsonResult Test()
{
        var ptModel = new PtModel();
        TryUpdateModel(ptModel);
        var language = ptModel.pt;

       // Do some processing and return a value
       return Json(true);
}

TryUpdateModel更正仅适用于具有属性

的对象

答案 1 :(得分:0)

控制器的方法应该是

[HttpPost]
public ActionResult Test(string pt)
{
   TryUpdateModel(pt);
   // Do some processing and return a value
   return Json(true);
}