2011-09-19 44 views
2

我将aspx视图移动到剃须刀上。有些事情是没有工作(空引用):为什么页面在剃刀下不可用

Page.RouteData.Values["IdeaType"] 
Page.User.IsInRole("Admin") 

我得改:

ViewContext.RequestContext.RouteData.Values["IdeaType"] 
ViewContext.RequestContext.HttpContext.User.IsInRole("Admin") 

为什么呢? 需要导入一些东西?

回答

4

Razor的Page属性返回一个可以在布局页面,内容页面和局部视图之间传递数据的页面状态包。
WebForm的Page属性返回您的Page实例(它继承自Control类)。

他们不一样。

一般来说,WebForms属性和Razor属性是相当不同的。

请注意,剃刀页面也有User属性;你可以写User.IsInRole(...)

+0

谢谢!我正在更新一个MVC2项目给Razor,而且我得到了一个奇怪的空错误! :) – Yablargo