【发布时间】:2019-09-09 19:30:39
【问题描述】:
我不能在剃须刀编辑器模板中调用“this.Method()”。
我曾经能够在 MVC5 中使用具有以下签名的扩展方法来做到这一点:
public static T SomeMethod<T>(this WebViewPage page) {
}
但在 asp.net core razor 视图中不再是“WebViewPage”。
我试过了,但没用:
public static T SomeMethod<T>(this RazorPage<T> page) {
}
错误是这样的:
错误 CS1929“Areas_puck_Views_Shared_EditorTemplates_PuckImagePicker”不包含“SomeMethod”的定义和最佳扩展方法重载“ViewExtensions.SomeMethod” (RazorPage
<PuckImagePickerEditorSettings>)' 需要接收器类型 'RazorPage<PuckImagePickerEditorSettings>'
【问题讨论】:
-
RazorPage存在于哪个命名空间中?你的扩展方法和你的页面使用的是同一个吗? -
扩展方法使用的命名空间是 Microsoft.AspNetCore.Mvc.Razor.RazorPage。我不知道如何检查视图使用的是什么,我认为它是相同的
标签: asp.net-core razor asp.net-core-mvc