我需要在view
的{{1}}中显示一条消息。这是我的代码;
查看
controller
CONTROLLER
@Html.LabelFor // How do i write the rest to display the message
答案 0 :(得分:1)
可以说,更优雅的解决方案,至少在被调用时,是使用强类型视图(使用模型 - MVC中的M)。一个简单的例子可能是:
模特:
public class MessageViewModel
{
public string Message {get; set;}
}
控制器:
public ActionResult Index()
{
var viewModel = new MessageViewModel {Message = "Hello from far away"};
return View(viewModel);
}
观点:
@model MyNamespace.MessageViewModel
<h2>@Html.DisplayFor(model => model.Message)</h2>
我是否会为此页面上的单个邮件而烦恼?令人惊讶的是,大部分时间我都愿意。有一些优雅的视图可以准确地了解期望(反之亦然),Intellisense支持以及HtmlHelper
的{{1}}方法,您可以在其中进行各种隐式格式化。
话虽这么说,“最简单”(阅读:快速和肮脏,但快速丑陋)的解决方案是将您的消息填充到DisplayFor()
动态对象中。
在控制器中:
ViewBag
在视图中:
ViewBag.MyMessage = "Hello from a far away place";
但是这样做会失去智能感知,可重复性(DRY)以及可能的理智。在一个地方使用的一个属性,可能是( a la @ViewBag.MyMessage
,默认的_Layout页面使用)。袋子里塞满了一大堆断开的物品,不用谢谢。
答案 1 :(得分:0)
您可以在控制器中使用Viewbag或viewdata
public ActionResult Index()
{
ViewData["listColors"] = colors;
ViewData["dateNow"] = DateTime.Now;
ViewData["name"] = "Hajan";
ViewData["age"] = 25;;
ViewBag.ListColors = colors; //colors is List
ViewBag.DateNow = DateTime.Now;
ViewBag.Name = "Hajan";
ViewBag.Age = 25;
return View();
}
<p>
My name is
<b><%: ViewData["name"] %></b>,
<b><%: ViewData["age"] %></b> years old.
<br />
I like the following colors:
</p>
<ul id="colors">
<% foreach (var color in ViewData["listColors"] as List<string>){ %>
<li>
<font color="<%: color %>"><%: color %></font>
</li>
<% } %>
</ul>
<p>
<%: ViewData["dateNow"] %>
</p>
答案 2 :(得分:0)
public ActionResult Index(MyModel model)
{
ViewBag.Message = "Hello World";
return View();
}
您的观点
<h1>@ViewBag.Message</h1>