讓我們說我有一個註冊模型,我有:如何動態設置屬於模型的標籤?
[Display(Name = "")]
public string SecretQuestion { get; set; }
我如何可以加載[Display(Name = "")]
動態,這樣的顯示名稱實際上是祕密的問題。我從數據庫中得到一個問題,我需要這是動態的。
讓我們說我有一個註冊模型,我有:如何動態設置屬於模型的標籤?
[Display(Name = "")]
public string SecretQuestion { get; set; }
我如何可以加載[Display(Name = "")]
動態,這樣的顯示名稱實際上是祕密的問題。我從數據庫中得到一個問題,我需要這是動態的。
加載數據到ViewBag並使用ViewBag填充標籤。
我不相信你可以使用不顯眼的驗證屬性的動態數據。 您需要將信息發送到視圖並手動顯示。
這可以通過很多方式完成,具體取決於您如何生成視圖。
做的一個非常簡單的方法是:
控制器:
myViewModel.SecretQuestion = GetSecretQuestion();
查看:
@Html.DisplayFor(model => model.SecretQuestion)
@Html.TextBoxFor(model => model.SecretQuestion)
我嘗試過這樣做,我想我不明白MVC的整個架構,但我不知道如何從我的控制器訪問我的模型 – Pittfall
在您的控制器中,您需要導入命名空間模型是在例如。 '使用MyProject.Models;'。在你看來,它是這樣在頁面頂部聲明的:'@model MyViewModel'並通過你的控制器傳遞'return View(myViewModelWithData);' – Terry
,但控制器方法的「HttpGet」版本有點像頁面加載和它所做的就是返回ContextDependentView(); – Pittfall