如何将数据库中的值设置为视图中的标签?

时间:2016-12-11 16:25:47

标签: c# asp.net-mvc razor

我在我的项目中使用 C#MVC razor 。我在这项技术的初级水平。我在这里做的是显示从数据库中获取的一些细节 。我决定用一些常用的方式来显示细节。不使用" @ Html.LabelFor "等关键字我使用了以下代码。

<label id="SID" name="SID" type="text" class="validate"></label>       

现在我希望显示一个名为&#34; SID&#34;在这个标签。我已经创建了控制器并获取了详细信息。但我无法找到如何在标签中显示细节。所以请帮助我。

1 个答案:

答案 0 :(得分:3)

您需要在操作方法中从数据库中获取数据,并将其传递到用于设置标签文本的视图。您可以使用视图模型来传递此信息或ViewBag,或者如果这是您想要传递的唯一内容,则可以简单地传递此值。

这是一个例子

public ActionResult Index()
{
  string myLabelText="Read this from db";
  return View((object)myLabelText);  // Thanks Stephen for the comments
}

现在在强类型字符串

的视图中
@model string
<label id="SID" name="SID" class="validate">@Model</label> 

通常,您可能希望从视图中发送多个项目。在这种情况下,您可以考虑视图模型方法。首先创建一个视图模型类。

public class MyPageVm
{
  public string MyLabelText { set;get;}
  public string MyLabelText2 { set;get;}
} 

并在行动中

public ActionResult Index()
{
  var vm = new MyPageVm();
  vm.MyLabelText="Read this from db";
  vm.MyLabelText2="Another one to read from db";
  return View(vm);
}

既然我们传递的是MyPageVm类的对象,我们需要强烈地对其进行输入。

@model MyPageVm
<label id="SID" name="SID" class="validate">@Model.MyLabelText</label>
<label id="SID2" name="SID2" class="validate">@Model.MyLabelText2</label>