Asp.net mvc 模型属性为空
我试图从webForms转移到Asp.net-MVC,但遇到了一些问题。我试图弄明白为什么这不起作用,我得到了这个错误:对象引用没有设置为对象的实例 我有“页面”课: 我正在使用此类将值插入“Pages.PageContent”属性: 控制器方法如下所示: 我试图在视图中这样写属性: 调试时,会触发该方法,dataReader会将该值插入“PageContent”属性,但我仍然从视图中收到此错误 谢谢Asp.net mvc 模型属性为空,asp.net-mvc,Asp.net Mvc,我试图从webForms转移到Asp.net-MVC,但遇到了一些问题。我试图弄明白为什么这不起作用,我得到了这个错误:对象引用没有设置为对象的实例 我有“页面”课: 我正在使用此类将值插入“Pages.PageContent”属性: 控制器方法如下所示: 我试图在视图中这样写属性: 调试时,会触发该方法,dataReader会将该值插入“PageContent”属性,但我仍然从视图中收到此错误 谢谢 return View(); 你没有通过模特考试 您需要将模型作为参数传递给View方法。您
return View();
你没有通过模特考试
您需要将模型作为参数传递给View方法。您可以返回模型:
var viewmodel = new _2send.Model.Pages().
//here you configure your properties
return View(viewmodel);
您需要重写服务方法以返回页面:
public Pages GetFooterlinksPage()
{
DB_utilities db_util = new DB_utilities();
Pages pages = new Pages();
using (var dr = db_util.procSelect("[Pages_GetPageData]"))
{
if (dr.HasRows)
{
dr.Read();
pages.PageContent = (string)dr["PageContent"];
return pages;
// Because you use using, you don't need to close datareader
}
}
}
然后重写你的行动方法:
public ActionResult GetFooterLinksPage()
{
var viewmodel = _pagesService.GetFooterlinksPage();
return View(viewmodel);
}
我想不出来,我该怎么做?传递模型声明模型,将信息放入其中,然后返回ViewModel我有一个误解,我必须理解这个概念:从控制器我调用“GetFooterlinksPage;”在“pages.PageContent”中插入一个值。我想从视图中读取这个值'@Model.PageContent;'但我仍然得到一个错误。@Eyal:写新的页面只会创建一个对象。它实际上对那个物体没有任何作用;您仍然需要将其传递给视图。
return View();
var viewmodel = new _2send.Model.Pages().
//here you configure your properties
return View(viewmodel);
public Pages GetFooterlinksPage()
{
DB_utilities db_util = new DB_utilities();
Pages pages = new Pages();
using (var dr = db_util.procSelect("[Pages_GetPageData]"))
{
if (dr.HasRows)
{
dr.Read();
pages.PageContent = (string)dr["PageContent"];
return pages;
// Because you use using, you don't need to close datareader
}
}
}
public ActionResult GetFooterLinksPage()
{
var viewmodel = _pagesService.GetFooterlinksPage();
return View(viewmodel);
}