2010-05-21 38 views
1

我在ASP.NET MVC中有一個控件,它在頁面頁眉(在視圖頁面)中吐出JavaScript。我從當前視圖名稱(包括其案例)中推導出一些值。假設我們正在談論路徑:/ Home/Index - 我的控件吐出JavaScript來調用具有視圖名稱的函數 - 在其確切的情況下 - 例如someFunction( '索引')。現在,當我嘗試使用'/ home/index'導航到我的視圖時,視圖名稱作爲'index'返回,這導致了JavaScript中的問題,因爲我依賴於JS端的框架。如何在asp.net mvc中查找確切的視圖名稱(包括案例)

有沒有什麼辦法從映射到這個視圖的路徑中知道確切的視圖名稱(如定義的那樣)。

+0

請參閱:[檢索當前視圖名稱在ASP.NET MVC?](http://stackoverflow.com/questions/1268763/retrieve-the-current-view-name-in -asp-net-mvc) – 2010-05-21 04:13:56

+0

這並不保留這種情況。返回的名稱是鍵入的名稱,而不是它在項目中的名稱。 :-( – 2010-05-21 04:23:57

+0

然後使用上面的技術,通過文件和文件夾進行遞歸搜索來找到一個匹配名稱的文件 – 2010-05-21 08:22:23

回答

0

你有沒有想過使用一個自定義的ViewFactory存儲視圖名稱的地方,你可以檢索它?這樣的事情:

public class MyViewFactory : WebFormViewEngine 
{ 
    public override ViewEngineResult FindView(
     ControllerContext controllerContext, 
     string viewName, 
     string masterName, 
     bool useCache 
     ) 
    { 
     controllerContext.Controller.ViewData["viewname"] = viewName; 
     return base.FindView(controllerContext, viewName, masterName, useCache); 
    } 
} 
相關問題