0

真的很难在我的控制器中实现这个。从本质上讲,我有一个控制器,而不是在它完成时将用户传递到如下 URL:

    <HttpPost()>
    Function Create(job As Job) As ActionResult
        If ModelState.IsValid Then
            db.Jobs.Add(job)
            db.SaveChanges()
            Dim url As String = "/RequestedService/AddService/" + job.JobId.ToString()
            Return Redirect(url)
        End If

        Return View(job)
    End Function

但是,我正在尝试实现每次调用此控制器时发送 SMS 的功能,并且可以使用如下 URL(由没有用户名或密码组成): http://go.bulksms.com:1557/send? username=fred&message=hello 这需要通过 HTTP post 请求访问。我知道我可以在上面的“返回重定向”中返回此 URL,但我希望两者都发生(重定向和此链接上发送 SMS 的帖子),理想情况下,我希望用户像现在一样被重定向到页面但是要在后台发送的短信。我将如何实现这一点?

4

2 回答 2

1

尝试这个。在两个注释行之间添加了新代码。您也可以参考此网址了解详细信息,如果是 POST,您可能需要传递一些表单数据,所有内容都在上面的链接中进行了描述。:

<HttpPost()>
    Function Create(job As Job) As ActionResult
        If ModelState.IsValid Then
            db.Jobs.Add(job)
            db.SaveChanges()
            'Sending SMS here: (start)
            Dim request as WebRequest = WebRequest.Create("http://go.bulksms.com:1557/send?username=fred&message=hello")
            request.Method = "POST"
            Dim response As WebResponse = request.GetResponse()

            'end
            Dim url As String = "/RequestedService/AddService/" + job.JobId.ToString()
            Return Redirect(url)
        End If

        Return View(job)
    End Function
于 2012-08-13T19:11:33.620 回答
0

重定向始终是一个GET请求

要发布到不同的 URL,您需要使用HttpWebRequest类从代码中调用它。

于 2012-08-13T19:00:59.513 回答