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 これはHTTPPOSTリクエストを介してアクセスする必要があります。上記の「リダイレクトを返す」でこのURLを返すことができることは理解していますが、両方を実行したい(リダイレクトと、SMSを送信するこのリンクへの投稿)。理想的には、ユーザーを現在のようにページにリダイレクトしたいのですが。バックグラウンドで送信されるSMS。これをどのように実装しますか?

4

2 に答える 2

1

これを試して。2つのコメント行の間に新しいコードが追加されます。詳細については、このURLを参照することもできます。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リクエストです

HttpWebRequest別のURLに投稿するには、クラスを使用してコードから呼び出す必要があります。

于 2012-08-13T19:00:59.513 に答える