2012-06-05 80 views
0

讓我們說我有一個註冊模型,我有:如何動態設置屬於模型的標籤?

[Display(Name = "")]
public string SecretQuestion { get; set; }

我如何可以加載[Display(Name = "")]動態,這樣的顯示名稱實際上是祕密的問題。我從數據庫中得到一個問題,我需要這是動態的。

回答

0

加載數據到ViewBag並使用ViewBag填充標籤。

0

我不相信你可以使用不顯眼的驗證屬性的動態數據。 您需要將信息發送到視圖並手動顯示。

這可以通過很多方式完成,具體取決於您如何生成視圖。

做的一個非常簡單的方法是:

控制器:

myViewModel.SecretQuestion = GetSecretQuestion(); 

查看:

@Html.DisplayFor(model => model.SecretQuestion) 
@Html.TextBoxFor(model => model.SecretQuestion) 
+0

我嘗試過這樣做,我想我不明白MVC的整個架構,但我不知道如何從我的控制器訪問我的模型 – Pittfall

+0

在您的控制器中,您需要導入命名空間模型是在例如。 '使用MyProject.Models;'。在你看來,它是這樣在頁面頂部聲明的:'@model MyViewModel'並通過你的控制器傳遞'return View(myViewModelWithData);' – Terry

+0

,但控制器方法的「HttpGet」版本有點像頁面加載和它所做的就是返回ContextDependentView(); – Pittfall

相關問題