MVC4 Ajax表单URL

时间:2013-08-19 03:53:38

标签: asp.net-mvc asp.net-mvc-4

有没有办法设置 AJAX表单的网址?我正在寻找使用Ajax.BeginForm()语法的答案,以便我可以利用Microsoft的模型构造法术而无需自己重新解析url字符串。

部分视图存在foo.com.au/getFoo,其中包含ajax形式。 ajax表单将发布到Foo控制器(默认),getFoo操作。

当我从外部网站(bar.com.au)拨打此电话时,我希望将其发回foo.com.au/getFoo。而是发布到bar.com.au/getFoo。有没有办法告诉Ajax表单发布到完整的URL而不仅仅是相对路径?

动机
对于那些怀疑hax0rz或其他犯规游戏的人,我已经构建了一个集成在多个客户端站点上的小部件。我现在正在为这个小部件构建一个身份验证插件。小部件不会将它们重定向到我的网站进行身份验证,因此我希望它使用用户名/密码输入表单的结果发回我的域。

1 个答案:

答案 0 :(得分:2)

你需要通过Ajax选项传递它,而不是在BeginForm的overloaad中提供它:

@using (Ajax.BeginForm(
    new AjaxOptions
    {
        Url = Url.Action("getFoo", "Foo", null, Request.Url.Scheme)
    }))
{
    ...
}