2014-10-09 64 views
0

在MVC主视图我有这样的:部分视图如何工作?

@Html.Partial("_CreateOrEdit", Model) 

和局部视图_CreateOrEdit包含此代码块:

@{ 
     var item = Model; 
     . 
     . 
     . 
     string favouriteId = "fav_" + item.Id + "_comment"; 
    } 

尽管确保item.Id> 0 I得到在一个空引用错误指着favouriteId的声明。这些点意味着还有许多其他类似的声明都带有非空引用。

当我通过@ item.Id替换item.Id,渲染部分视图在主视图中失败。

我在做什么错?有人可以指出一个完整的代码块教程吗?

感谢

+1

你问的问题围绕着错误的方式。 [_“扔我所有的文档,我会解决它”_是不是要走的路(http://blogs.msdn.com/b/oldnewthing/archive/2012/02/02/10263027.aspx) (首先,因为几乎没有任何MVC文档,你必须阅读源代码和博客)。创建一个再现问题的小例子。 – CodeCaster 2014-10-09 10:17:21

+0

你在局部视图中添加了@model吗? – Mukund 2014-10-09 10:17:27

+0

@CodeCaster通过您的评论我假设这个块代码没有语法错误? – user3320502 2014-10-09 10:31:31

回答

0

另一个“@”不能使用自言已经是剃刀代码块中。

为了避免对象引用异常,使用下面的代码

string favouriteId = string.Format("{0}_{1}_{2}", "fav", item.Id, "comment");