有没有办法让Ajax.BeginForm输出一个绝对的url而不仅仅是一个相对的url?
我正在尝试在托管在另一台服务器上的网站上使用CORS。 目前我正在使用ajax选项中的jquery onsuccess解析表单。
我不是指向编写扩展程序的教程的任何指针都很方便
答案 0 :(得分:4)
有没有办法让Ajax.BeginForm输出绝对网址 而不只是一个亲戚?
是的,但您需要在Url
中指定AjaxOptions
,而不要使用带有操作和控制器名称的重载:
@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) }))
{
...
}
答案 1 :(得分:1)
这里:
@using (Ajax.BeginForm(new AjaxOptions {
Url = "http://www.domain.com/whatever" ,
Confirm = "...",
// and other options...
}))
{
// html controls or helpers here...
}