我正在嘗試構建一個AjaxHelper擴展,並且似乎遇到了SNAFU。MVC AjaxHelper擴展 - 系統找不到它?
查看:
<%= 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 < RainWorx.FrameWorx.MVC.ViewModels.DirectoryEdit>' 不包含關於 'DeleteLink' 的定義和沒有擴展方法 'DeleteLink' 接受類型的第一個參數 「System.Web.Mvc.AjaxHelper < RainWorx.FrameWorx.MVC.ViewModels.DirectoryEdit>」 可以找到(是否缺少使用指令或程序集 引用?)
我錯過了什麼(明顯的)事情?我可以在我的擴展方法中發誓第一個參數確實幾乎接受我選擇拋棄它的任何模型。
TIA
-kb
難道他們都在同一個命名空間? –