MVC AjaxHelper扩展-系统找不到它

本文关键字:找不到 系统 AjaxHelper 扩展 MVC | 更新日期: 2023-09-27 18:08:14

我正在尝试构建一个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"可以找到(您是否缺少using指令或程序集?参考?)

我错过了什么(明显的)事情?我可以发誓扩展方法中的第一个参数确实接受了我选择的任何模型。

TIA

kb

MVC AjaxHelper扩展-系统找不到它

您可能需要在web中注册名称空间。

查看使用WebForms的示例:

<%@ Import Namespace="RainWorx.FrameWorx.MVC" %>
http://msdn.microsoft.com/en-us/library/eb44kack.aspx

使用Razor视图引擎的示例:

@using RainWorx.FrameWorx.MVC

视图示例使用Razor视图引擎w/VB。净:

@Imports RainWorx.FrameWorx.MVC

如何在Razor视图页面中导入命名空间?

网络。配置的例子:

<system.web>
    <compilation>
        <add assembly="RainWorx.FrameWorx.MVC" />
    </compilation>
</system.web>
http://msdn.microsoft.com/en-us/library/bfyb45k1.aspx

在视图中包含扩展名称空间。