Ajax MVC不同的获取和发布到控制器的方法

Ajax MVC不同的获取和发布到控制器的方法,ajax,asp.net-mvc,model-view-controller,Ajax,Asp.net Mvc,Model View Controller,让我们直说吧 我需要接受get data并将数据发布到controller方法。 我有一个ajax调用,带有一些post数据参数(比如id和name),它将以如下方式指向登录页:/master/data?page=student 所以我有3个参数需要传递: 1.page==>send with GET方法 2.id==>使用POST方法发送 3.name==>send with POST方法 我有这样的控制器方法,但没有成功。如何修复它 <HttpPost()> _ <Http

让我们直说吧

我需要接受get data并将数据发布到controller方法。 我有一个ajax调用,带有一些post数据参数(比如id和name),它将以如下方式指向登录页:/master/data?page=student

所以我有3个参数需要传递: 1.page==>send with GET方法 2.id==>使用POST方法发送 3.name==>send with POST方法

我有这样的控制器方法,但没有成功。如何修复它

<HttpPost()> _
<HttpGet()> _
Function data(page as string, id as Integer, name as string) As ActionResult
    bla..bla.bla...
End Function
_
_
函数数据(页面作为字符串,id作为整数,名称作为字符串)作为ActionResult
布拉..布拉..布拉。。。
端函数

在成为控制器之前添加

<AcceptVerbs("Post", "Get")>

作为


_
函数数据(页面作为字符串,id作为整数,名称作为字符串)作为ActionResult
布拉..布拉..布拉。。。
端函数

否则,请不要使用任何HTTP动词来允许所有内容

我个人更喜欢另一种方式。IE与示例代码:

 [HttpPost]
     public ActionResult RegisterUser(Register model)
     {
         if (!ModelState.IsValid)
         {
             ViewBag.stuff= new stuffDbContext().stuff;

             // If we got this far, something failed, redisplay form
             return PartialView("RegisterUser", model);
         }

  [HttpGet]
     public ActionResult RegisterUser()
     {

             return PartialView();
     }

它可能会打破OO编程的干涸,但是它支持MV-WYFY设计模式。

您不应该需要这些http*属性,否则这应该可以工作。“没有成功”是什么意思?哎呀……我的错……事实上它成功了。我得到了一个空值,我想是因为这个。对不起,它按要求传递了值。首先,对不起,这是我的错。它确实有效。我的ajax脚本传递空值时出现问题。有什么不同的用途和用途?对我来说,使用and仍然有效。是的,它将有效,但允许多个动词的正确方法是在AcceptVerbs列表中传递它们:)
 [HttpPost]
     public ActionResult RegisterUser(Register model)
     {
         if (!ModelState.IsValid)
         {
             ViewBag.stuff= new stuffDbContext().stuff;

             // If we got this far, something failed, redisplay form
             return PartialView("RegisterUser", model);
         }

  [HttpGet]
     public ActionResult RegisterUser()
     {

             return PartialView();
     }