ViewBag類似于JavaScript的語法,在賦值時動態賦值,比如ViewBag.Dog=“哈哈” ,這樣就會創建一個ViewBag.Dog的對象,供前端頁面調用。
在調用時,前臺頁面用razor方式,@ViewBag 直接使用。
public class HomeController : Controller{List<Dog> dogList = null;public List<Dog> InitDate(){dogList = new List<Dog>{new Dog(){Id=1,Name="A1"},new Dog(){Id=2,Name="A2"}};return dogList;}public ActionResult Index(){System.Text.StringBuilder strHtml=new System.Text.StringBuilder();List<Dog> list = InitDate();list.ForEach(d =>{strHtml.Append("<div>" + d.Name + "</div>");});ViewBag.DogStr = strHtml.ToString() ;return View();}}
如果直接在前端頁面用@ViewBag輸出,會連<DIV>標簽一起輸出,
所以需要使用?@Html.Raw(ViewBag.DogStr) 輸出,這樣瀏覽器會將字符串中的<DIV>標簽格式化成HTML代碼。