作为一个初学者,我正在做一个非常简单的例子来理解基本的Razor概念,当我在我的控制器类中使用ViewBag设置一些值并尝试将它们视图中它们没有打印时,它既没有显示对此的不满也没有任何错误,请帮帮我吧。这就是我正在做的事情
模式类:产品
public class Product
{
public int ProductId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public Decimal Price { get; set; }
public string Catagoery { get; set; }
}
HomeController (仅粘贴不适用于我的特定方法)
public ActionResult MyProduct()
{
ViewBag.ProductCount = 1;
ViewBag.ProductQuality = "Good";
return View(product);
}
的ProductView
@model RazorApplication.Models.Product
@{
ViewBag.Title = "Demo";
Layout = "~/Views/_BasicLayout.cshtml";
}
<table>
<tr>
<td>Name</td><td>@Model.Name</td>
</tr>
<tr>
<td>Quality</td><td>@ViewBag.ProductCount</td>
</tr>
<tr>
<td>Quality</td><td>@ViewBag.ProductQuality</td>
</tr>
</table>
答案 0 :(得分:3)
此代码事件是否已编译?我问,因为你的一般工作,但代码中有错误,有名称等但我认为这是制作样本的结果。
如果你可以编译你应该没事。将您的代码放入.NET Fiddle,正在运行并正确打印出来。 http://dotnetfiddle.net/wgE30l
您没有从Model获取名称,因为它从未设置过。 ViewBag独立于模型工作并正确显示。
答案 1 :(得分:2)
您的代码看起来很好,您在ViewBag
中设置了值,它们应该打印在页面中,尝试 Ctrl + F5 来刷新您的页面,可能是页面是从浏览器缓存加载,按 Ctrl + F5 ,所有页面都将从服务器呈现新的。