asp.net-mvc如何使角后到 C# Asp.Net MVC 控制器?

发布时间: 2017/3/25 1:46:12
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我看了一圈,但没有找着什么 (角 post),其实可以到 MVC 控制器调用成功。我知道有很多的角/.Net 开发人员。我能帮忙吗?

让我们保持答案梗概简单!!!

如果我在控制器上设置换行符,我可以看到,这段代码不真的打了控制器。

HTML

<!-- I click this button -->
<input type="button" value="click" onclick="postit()" />

Javascript/角邮政

function postit() {
 $http({
        method: 'POST',
        url: 'Home/Give/',
        data: { id: 4 }
    }).success(successFn).error(errorFn);
}

function successFn() {
    alert("success");
}

MVC C# 控制器

    [AcceptVerbs("OPTIONS")]
    public ActionResult Give(int id)
    {
        var response = "some response" + id.ToString();
        return Json(new JavaScriptSerializer().Serialize(response)); 
     }

解决方法 1:

国王的小狗,我见过听写控制器参数应该是匹配正在发送的对象的对象,然而,似乎是比多一点宽容的几个答复。请考虑下面的示例 (我已经有点更新您的函数)︰

Javascript:

$scope.postIt = function() {
  var data = {
    id = 4
  };

  $http
    .post('Home/Give', data)
    .success(function(data, status, headers, config) {
      successFn();
    })
    .errors(function(data, status, headers, config) {
      errorFn();
    });
};


function successFn() {
  alert("success");
};

function errorFn() {
  alert("error");
};

MVC:

 public ActionResult Give(int id)
 {
   var response = "some response" + id.ToString();

   return Json(new JavaScriptSerializer().Serialize(response)); 
 }

如果你设置了断点,你会看到传递中的 id 是 4。

如果你需要传递一个对象 (所以不止一个 id),您可以创建匹配的类或结构控制器一边,或有多个参数 (前提是它们是简单值类型) 即︰

public JsonResult Give (int id, int reasonId)
{
 ... 
}

不管怎么说,我意识到该职位是旧的但也许它会帮助您或其他人。

赞助商