0

我有一个表单,提交时应该重定向到外部 URL 以对我的表单数据执行一些操作,并在成功提交后保留在主页上。我使用了重定向,但这将使我的第二个选项成为可能,但不是我的第一个。请帮忙..

4

2 回答 2

2

你在这里有不同的可能性。第一种可能是将action表单的属性直接设置为外部url,并添加一个returnurl隐藏的输入参数。提交表单时,它将 POST 数据到要处理的外部 url,当它完成处理时,外部 url 将使用returnurl参数重定向回您的主页。

另一种可能性是使用WebClient在您的 POST 操作中调用外部 url以发送数据进行处理并返回相同的视图:

[HttpPost]
public ActionResult Index(SomeViewModel model)
{
    using (var client = new WebClient())
    {
        var values = new NameValueCollection 
        {
            { "param1", model.Property1 },
            { "param2", model.Property2 },
        };
        // send values for processing to the external url
        var result = client.UploadValues("http://externalurl.com", values);
        // TODO: analyze result
    }
    return View(model);
}
于 2010-10-27T06:31:51.160 回答
0

您需要为此手动编程。例如,您可以将 returnUrl 参数(例如通过查询字符串)传递给第二个页面,该页面将负责读取此参数并执行其自己的重定向。

于 2010-10-26T20:59:25.717 回答