2012-06-05 38 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

相关问题