0

在我的网络应用程序中,我有一个表单,用户可以在其中向任何电话发送短信。动作声明如下:

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

这工作正常。

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

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

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

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

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

1 回答 1

0

所以你很接近,你应该将“回复”参数的结构定义为 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,因为它对其他开发人员应该更有意义。

于 2013-09-10T02:32:42.090 回答