MVC4中的多个HttpPost方法

时间:2013-09-10 02:19:28

标签: asp.net-mvc-4

在我的网络应用程序中,我有一个表单,用户可以将短信发送到任何手机。该动作声明如下:

[HttpPost]
public ActionResult Index(Massages massages)
{
   // called the webservice
   return View(massages);
} 

这很好用。

有Web服务将SMS消息发送给客户端(即他们的电话)。在此Web服务调用中,我们还必须提供PostBackUrl,以便我们可以看到客户端提供的响应。

此响应以JSON和HttpPost的形式出现。

我很困惑如何声明这样的功能。

//It is wrong but It might be something like this.

[HttpPost]
public ActionResult ReplyBack(JSON reply)
{
    return View(reply);
}

1 个答案:

答案 0 :(得分:0)

所以你很接近,你应该将“reply”参数的结构定义为C#类,ASP.NET将解析JSON回发。

public class JSONRequest
{
    property MessageId as Int
    property Sender AS String
}

[HttpPost]
 public ActionResult ReplyBack(JSONRequest request)
 {
    //query database with request.MessageId
    return View(reply);
 }

我将您的参数名称更改为请求,因为除非我没有正确地回答您的问题,否则您需要调用另一个Web服务来获取回复。因此,使用名为reply的JSON参数向ReplyBack发出请求是没有意义的,响应是这种情况下的回复,因此ReplyBack获取请求参数并将响应构建为响应。另外,我会将你的ReplyBack方法重命名为GetReply,因为它应该对其他开发人员更有意义。