ASP.NET Core MVC 動態使用 cshtml partial

在上一篇 ASP.NET Core MVC 拆分 cshtml 中有介紹和示範使用 partial,語法如下:
    
<partial name="_StudentGrid.cshtml" model="students"/>
    

非常的方便好用,王子和公主從此過著幸福快樂的日子...

直到有一天,邪惡的巫婆帶來了一個需求,要求需要動態決定要使用的 cshtml 檔案。研究了半天之後,發現似乎只有利用 HTML Helper 才可以做到,並且方法也非常的簡單。

在 Views/Home 裡面的 Index.cshtml 中想要動態使用 partial,也是位於 Views/Home 裡面的以下三個檔案, _A1.cshtml, _A2.cshtml, _A3.cshtml,關鍵程式碼:
    
@{
	var list = new List<string> { "_A1", "_A2", "_A3" };
	foreach (var item in list)
	{
		@await Html.PartialAsync($"{item}")
	}
}
    

完美!

參考資料:
Microsoft.Learn - Partial views in ASP.NET Core

留言