Dot-Net
Html.Partial 在 if 語句下不起作用
我的一個視圖頁面中有以下位置:
@* Html.Partial("Form")*@ @{ var role = Convert.ToInt32(Session["Role"]); if (role == 2) { Html.Partial("Form"); } }當
Html.Partial("Form")它在任何 if 語句之外並呈現一切正常時,它工作正常。但是當在一個
if塊內它什麼都不呈現時,如果語句被命中,這是真的,調試器 eves 讀取函式並轉到Form Partial view並遍歷其中的每一行,但最後頁面上沒有輸出。請幫助
當您在程式碼塊內時,您應該使用 RenderPartial 方法。
Html.RenderPartial("Form");Html.Partial 返回一個 HtmlString,如果它不在程式碼塊內,它將被呈現到頁面。在您的情況下,Razor 會解析您的視圖並將結果返回給您的程式碼。由於您沒有做任何事情來渲染它,因此您不會得到輸出。
嘗試更換:
Html.Partial("Form"); // <- this will return string和:
Html.RenderPartial("Form"); // <- writes to responseHtml.Partial vs Html.RenderPartial & Html.Action vs Html.RenderAction