【发布时间】:2013-03-16 02:00:16
【问题描述】:
我的视图中有一些 html 表单,必须发布到某个外部站点:
我认为的 HTML 表单
<form action="http:\\externalsite\external-site-action" method="POST">
<input type="text" name="parameter1" value="someValue1"/>
<input type="text" name="parameter2" value="someValue1"/>
<input type="submit" value="Submit to external site">
</form>
当我将数据发布到 external-site-action 时,此操作会将我重定向到其他外部站点的页面,因此我需要用户停留在那里。但在发布此表单之前,我必须执行一些操作我的控制器中的操作/方法,但此操作只是在数据库中进行一些更改,所以我不需要任何重定向或操作结果,否则用户必须重定向到外部站点页面,数据被发布到。如何在我的操作中执行数据库更改,并以编程方式将此表单发布到外部站点,并在控制器操作中将用户重定向到此外部站点(在同一浏览器选项卡上),如下所示:
public ActionResult ChangeDBPostAndRedirectToExternal(string parameter1, string parameter2)
{
DoSomeDatabaseStuff();
PostParametersToExternalSiteAndRedirectUserToPageDataPostedTo();
}
我尝试了 Redirect() 方法,但该方法无法执行后期操作。那么如何通过控制器的操作将数据发布到外部操作,并通过已处理的发布数据获取外部操作的视图结果?还是有一些更明智的方法来实现我的需要?我必须在 POST 之前DoSomeDatabaseStuff();。
【问题讨论】:
标签: c# asp.net-mvc