Asp.net mvc 模型属性为空

Asp.net mvc 模型属性为空,asp.net-mvc,Asp.net Mvc,我试图从webForms转移到Asp.net-MVC,但遇到了一些问题。我试图弄明白为什么这不起作用,我得到了这个错误:对象引用没有设置为对象的实例 我有“页面”课: 我正在使用此类将值插入“Pages.PageContent”属性: 控制器方法如下所示: 我试图在视图中这样写属性: 调试时,会触发该方法,dataReader会将该值插入“PageContent”属性,但我仍然从视图中收到此错误 谢谢 return View(); 你没有通过模特考试 您需要将模型作为参数传递给View方法。您

我试图从webForms转移到Asp.net-MVC,但遇到了一些问题。我试图弄明白为什么这不起作用,我得到了这个错误:对象引用没有设置为对象的实例

我有“页面”课:

我正在使用此类将值插入“Pages.PageContent”属性:

控制器方法如下所示:

我试图在视图中这样写属性:

调试时,会触发该方法,dataReader会将该值插入“PageContent”属性,但我仍然从视图中收到此错误

谢谢

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);      
    }