有没有办法设置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或其他犯规游戏的人,我已经构建了一个集成在多个客户端站点上的小部件。我现在正在为这个小部件构建一个身份验证插件。小部件不会将它们重定向到我的网站进行身份验证,因此我希望它使用用户名/密码输入表单的结果发回我的域。
答案 0 :(得分:2)
你需要通过Ajax选项传递它,而不是在BeginForm的overloaad中提供它:
@using (Ajax.BeginForm(
new AjaxOptions
{
Url = Url.Action("getFoo", "Foo", null, Request.Url.Scheme)
}))
{
...
}