Я пытаюсь создать расширение AjaxHelper и, похоже, работаю в SNAFU.
Вид:
<%= Ajax.DeleteLink("Delete", "LicenseDelete", "Directory", new { LicenseID = license.ID }, new { @class = "directory button" }); %>
Расширение:
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using System.Linq.Expressions;
using System.Web.Routing;
using System.Web.Mvc.Ajax;
namespace RainWorx.FrameWorx.MVC
{
public static class HtmlExtensions
{
public static MvcHtmlString DeleteLink<TModel>(this AjaxHelper<TModel> ajaxHelper, string linkText, string actionName, string controllerName, object routeValues, object htmlAttributes)
{
return ajaxHelper.ActionLink(linkText
, actionName
, controllerName
, routeValues
, new AjaxOptions { Confirm = "Are you sure you want to delete this item?",
HttpMethod = "DELETE",
OnSuccess = "function() { window.location.reload(); }" }
, htmlAttributes);
}
}
}
Результат просмотра:
Ошибка сервера в приложении '/'.
Ошибка компиляции
Описание: во время компиляции ресурса произошла ошибка
требуется для обслуживания этого запроса. Пожалуйста, просмотрите следующие конкретные
подробности об ошибках и измените ваш исходный код соответствующим образом.
Сообщение об ошибке компилятора: CS1061:
'System.Web.Mvc.AjaxHelper '
не содержит определения для DeleteLink и метода расширения
«DeleteLink» принимает первый аргумент типа
'System.Web.Mvc.AjaxHelper '
может быть найдено (вы пропустили директиву использования или сборку
ссылка?)
Что (очевидное) что я пропустил? Я могу поклясться, что первый аргумент в моем методе расширения действительно принимает практически любую модель, которую я выброшу.
ТИА
-kb