0
如果請求引用來源的請求源不是itslef,我想將視圖中的所有網址呈現爲絕對網址。將所有內容和動作網址呈現爲絕對網址而不更改視圖頁
所以,如果網站http://www.hostsite.com
有拉從http://www.example.com/controller/action
內容,那麼下面的ViewPage
@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輸出功能,而不必改變視圖頁中的單個細節(如使用自定義幫助器)?如果是這樣,我可以使用哪些掛鉤點來覆蓋此輸出行爲?
我特別不想創建'幫手'方法。我想覆蓋ViewEngine及其相關類如ViewPage的行爲。 –
視圖引擎負責渲染視圖,我們可以覆蓋視圖的路徑,我們可以更改視圖的物理位置,即我們可以將視圖放置在虛擬文件位置,例如數據庫服務器上,甚至可以放在DLL中而不是物理文件存儲器中。但是你試圖實現的行爲不是視圖引擎的責任。控件如何呈現以及爲控件生成的HTML將由helper類進行處理和管理。所以必須重寫相同的。 –
''不是由傭工呈現 –