在我的网络应用程序中,我有一个表单,用户可以将短信发送到任何手机。该动作声明如下:
[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);
}
答案 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,因为它应该对其他开发人员更有意义。