#asp.net-mvc-3 #html-helper #telerik-grid #telerik-mvc
#asp.net-mvc-3 #html-помощник #telerik-grid #telerik-mvc
Вопрос:
Я пытаюсь создать расширение HTML для отображения моей сетки telerik с общими настройками
Если я объявлю этот код в представлении, все будет в порядке.
@imports Telerik.Web.Mvc
@imports Telerik.Web.Mvc.UI
@Code
Dim gridBuilder As Telerik.Web.Mvc.UI.Fluent.GridBuilder(Of TModel) =
Html.Telerik().Grid(Of TModel)().Name("myList")
@End Code
Но я переношу его в проект библиотеки классов для реализации расширения HTML
Imports System.Web.Mvc
Imports Telerik.Web.Mvc
Imports Telerik.Web.Mvc.UI
Namespace Helpers
Module HelperList
<System.Runtime.CompilerServices.Extension()> _
Public Sub myTelerikList(Of TModel As Class)(helper As HtmlHelper)
Dim gridBuilder As Telerik.Web.Mvc.UI.Fluent.GridBuilder(Of TModel) = Html.Telerik().Grid(Of TModel)().Name("myList")
…
…
End Sub
У меня такая ошибка
‘Html’ неоднозначен, импортирован из пространств имен или типов ‘Telerik.Web.Mvc.UI, System.Web.Mvc’.
Ответ №1:
Попробуйте использовать вспомогательный экземпляр, который вы расширяете:
<System.Runtime.CompilerServices.Extension()> _
Public Sub myTelerikList(Of TModel As Class)(helper As HtmlHelper)
Dim gridBuilder As Telerik.Web.Mvc.UI.Fluent.GridBuilder(Of TModel) = helper.Telerik().Grid(Of TModel)().Name("myList")
...
End Sub
Ответ №2:
Поскольку у вашего HtmlHelper
экземпляра есть имя helper
, вам нужно написать helper.Telerik()
.