1
我們在主索引頁面內使用Iframe。我寫了一個控制器,可以讓你像處理程序那樣請求資源(圖像,Js,Css等)。如何統一iframe中呈現的視圖的路由網址
@Html.Css("Ico16", "Add")
//Converts to this
<link src="Style?Key=ico16&File=add" type="text/css" />
路由到請求圖像也會出現相同這樣:
<img src="Image?Key=ico16&File=add" />
然而,這下一個路由僅適用於I幀內顯示視圖。
<link src="Default/Style?Key=Ico16&File=Add" type="text/css" />
最後,水就變得略微渾濁BC如上圖所示......如果我是一個內外部JavaScript文件雖然只有CSS請求的動作,我必須在控制器名又像增加至路線所以:
$(document).ready(function()
{
$('#SomeDiv').append('<img src="Default/Image?Key=ico16&File=add"></img>');
})
我如何統一這些路線使他們都一致?我坦率地不在乎它寫的是哪種方式,只要它對於不同的內容區域來說沒有什麼不同。
的路線:
routes.MapRoute(
"PlatformIFrame",
"{controller}/{action}/{key}", // URL with parameters
new { controller = "Default", action = "Index", key = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Platform",
"{action}/{key}", // URL with parameters
new { controller = "Default", action = "Index", key = UrlParameter.Optional } // Parameter defaults
);
控制器:
public class DefaultController : Controller
{
public ActionResult Style(string key, string file)
{
}
public ActionResult Script(string key, string file)
{
}
public ActionResult Image(string key, string file)
{
}
}
爲什麼不直接鏈接到樣式,腳本和圖像的內容? – Cymen
@Cymen兩個非常有道理的理由:首先,我有一個內部緩存過程,緩存取決於攔截資源請求的能力。你如何輕鬆地容納那些直接放置資源? 第二個原因是爲了可維護性。如果我們決定重新安置我們所有的資源呢?你想成爲那些必須更新所有資源URL的人嗎? –