我在我的项目中使用 C#MVC razor 。我在这项技术的初级水平。我在这里做的是显示从数据库中获取的一些细节 。我决定用一些常用的方式来显示细节。不使用" @ Html.LabelFor "等关键字我使用了以下代码。
<label id="SID" name="SID" type="text" class="validate"></label>
现在我希望显示一个名为&#34; SID&#34;在这个标签。我已经创建了控制器并获取了详细信息。但我无法找到如何在标签中显示细节。所以请帮助我。
答案 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>