2013-07-31 45 views
3

有什么办法让Ajax.BeginForm输出绝对url而不是相对的吗?Ajax.BeginForm绝对URL MVC CORS

我想获得一些在另一台服务器上托管的网站上使用CORS的表单。 目前,我正在用ajax选项中的jquery onsuccess解析表单。

我没有任何指针教程编写的扩展将是得心应手

回答

4

有没有什么办法让Ajax.BeginForm输出绝对URL ,而不是仅仅是相对的?

是的,但你需要在AjaxOptions指定Url和不使用的采取行动和控制器名称过载:

@using (Ajax.BeginForm(new AjaxOptions { Url = Url.Action("Foo", "Bar", null, "http") })) 
{ 
    ... 
} 

Url.Action已经使用过载在那里你可以指定协议这会产生绝对的URL。如果你想使用相同的协议,一个用于请求当前的动作,而不是硬编码的,你可以使用以下命令:

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

谢谢,我不得不把它卷(Ajax.BeginForm(null,null,new AjaxOptions {Url = Url.Action(“SubmitAdult”,“FallsAssessment”,null,Request.Url.Scheme)),HttpMethod =“ POST“,OnComplete =”closeModal“,OnSuccess =”success“,OnFailure =”error“},new {class =”form-inline“,id =”FallsForm“})) – dbairduk

0

这里:

@using (Ajax.BeginForm(new AjaxOptions { 
    Url = "http://www.domain.com/whatever" , 
    Confirm = "...", 
    // and other options... 
})) 
{ 
    // html controls or helpers here... 
}