【发布时间】:2016-04-11 08:40:03
【问题描述】:
如果请求引用者的来源与请求自身的来源不同,我想将视图中的所有 url 呈现为绝对 url。
因此,如果站点 http://www.hostsite.com 有一个从 http://www.example.com/controller/action 提取内容的页面,则以下视图页面
@using (Ajax.BeginForm("Save", new AjaxOptions {}))
{
@Html.ActionLink("More..", "More")
<img src="~/Content/img.jpg" />
<input type="submit" value="Save" />
}
应该呈现为
<form action="http://www.example.com/controller/Save" data-ajax="true" id="form0" method="post">
<a href="http://www.example.com/controller/More">More...</a>
<img src="http://www.example.com/Content/img.jpg" />
<input type="submit" value="Save" />
</form>
注意在html中使用“~/”的url也应该固定为绝对的。
如果可能的话,我想通过覆盖一些基本 url 生成代码来实现这一点,而不是创建额外的帮助程序。
是否可以覆盖 mvc 的 url 输出功能而不必更改视图页面本身的单个细节(例如使用自定义帮助程序)?如果是这样,我可以用来覆盖此输出行为的挂钩点在哪里?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-4 razor-2