2010-10-26 84 views
0

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

回答

0

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

2

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

另一种可能性是使用WebClient用于处理发送数据并返回相同的观点来调用外部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); 
} 
+0

只是信息,我可以看到[这]相同的答案(HTTP ://forums.asp.net/t/1899157.aspx?MVC + Post + Redirect)通过@budugu发布变量名称已更改 – stom 2015-10-05 10:54:33