簡體   English   中英

加載partialview,其中在ViewBag中設置了viewname

[英]loading partialview where viewname is set inside ViewBag

從我的控制器,我正在發送本地化的視圖名稱,例如

string currentCulture = Thread.CurrentThread.CurrentCulture.ToString();
string viewName = string.Empty;
switch (currentCulture)
{
     case "en-US":
       viewName = "en-US.cshtml";
       break;
     case "de-DE":
       viewName = "de-DE.cshtml";
       break;
     case "fr-FR":
       viewName = "fr-FR.cshtml";
       break;
       default:        
 }
ViewBag.LocView = "~/Views/Home/"+viewName;

和我想使用局部顯示的內部視圖

@Html.Partial(@ViewBag.LocView);

但這顯然不行,因為我越來越

“ System.Web.Mvc.HtmlHelper”沒有適用的名為“ Partial”的方法,但似乎具有該名稱的擴展方法。 擴展方法不能動態調度。 考慮強制轉換動態參數或在不使用擴展方法語法的情況下調用擴展方法。

ViewBag的類型不是很強, @Html.Partial需要一個字符串,因此您應該能夠:

@Html.Partial((string)@ViewBag.LocView);

調用ViewBag時,需要將其轉換為字符串數據類型

@Html.Partial((string)@ViewBag.LocView)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM