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