我想通過從viewbag檢索爲這樣的數據的局部視圖的文件名:問題與通過非文字文本到Html.Partial()擴展方法
<div id="Zone1">@Html.Partial(ViewBag.ZoneControl1)</div>
凡「 ViewBag的「ZoneControl1」屬性是從別處檢索的所需部分視圖的名稱(即數據庫,Web服務等)。如果我將文本作爲文字字符串,例如:
<div id="Zone1">@Html.Partial("Controls/MyPartial")</div>
它工作得很好。如果我傳遞文本字符串從控制器ViewBag的財產,甚至只是在創造消費觀點的變量,即:
@{string zone1 = "Controls/MyPartial";}
<div id="Zone1">@Html.Partial(zone1)</div>
它不工作。該頁面似乎正在加載,但從不在瀏覽器中顯示任何內容。再說一遍,如果我硬編碼局部視圖名稱,但是它不能作爲變量或屬性的數據傳遞,那麼這可以正常工作。任何人都知道這是爲什麼發生?如果這是有意或無法避免的行爲,是否有解決方法?
感謝您的回覆。實際上,我確實通過明確的強制類型轉換爲字符串(雖然我沒有在我的示例代碼中加入),但它也不起作用。如果你說「zone1」的第二個例子適合你,那麼我的代碼中必須有其他的東西。再次感謝,我會重新檢查我的代碼是否存在其他問題,然後再回來查看。 –
對,對不起。我不知道它可能基於您的示例代碼。祝你好運! – Buildstarted
+1,以正確分析viewbag casting問題。 –