我正在创建此MVC站点,但遇到一个问题,当模型值到达View时,模型值未显示。调试时,我看到属性在模型,voidMethod和控制器中都设置了值。但是,在进入“视图”时,标题的值显示为空。
型号
Public class tbl
{
public string headline { get; set; }
}
设置属性值的VoidMethod:
Public class voidmethods
{
Public tbl getHeadline()
{
tbl t =new tbl();
t.headline="hello";
return tbl;
}
}
控制器:
Public ActionResult Inedx()
{
voidmethods voidmethods = new voidmethods();
voidmethods.getHeadline();
return view();
}
查看
<h>@Html.DisplayFor(m=>m.headline)</h>
答案 0 :(得分:1)
控制器应该像这样将视图模型发送回视图
public ActionResult Inedx()
{
tbl tbl= new tbl();
tbl.getHeadline();
return view(tbl);
}
还记得在视图中引用模型
@model //your model namespace here
在您的tbl类中设置属性,这样tbl类就会变成
public class tbl
{
public string headline { get; set; }
public string getHeadline()
{
headline="hello";
return headline;
}
}
另一种选择是在控制器中进行设置
public ActionResult Inedx()
{
tbl tbl= new tbl();
tbl.headline = "Hello";
return view(tbl);
}
答案 1 :(得分:1)
您需要将模型voidmethods.getHeadline()
传递给视图
并且鉴于您需要使用这些模型来打印headline
型号
public class tbl
{
public string headline { get; set; }
}
public class voidmethods
{
public tbl getHeadline()
{
tbl t =new tbl();
t.headline="hello";
return t;
}
}
控制器
[HttpGet]
public ActionResult Index()
{
voidmethods voidmethods = new voidmethods();
var model= voidmethods.getHeadline();
return View(model);
}
当voidmethods.getHeadline()
返回tbl
的实例时,您需要在视图上使用相同的tbl
查看
@model HelloWorldMvcApp.tbl
<body>
<h>@Html.DisplayFor(m=>m.headline)</h>
</body>