无法使用ASP.NET 4.5中的控制包中的ajaxfileupload

时间:2019-01-03 08:40:08

标签: asp.net webforms ajaxcontroltoolkit

我刚刚安装了ajax控制套件,因为我想使用ajax文件上传,因为它比基本文件上传更好。问题是,每当我打开将控件拖到的页面时,我都会遇到此异常

由于控件包含代码块(即<%...%>),因此无法修改Controls集合。

我不明白这意味着什么。我唯一拥有<%%>的东西是head标记中的包脚本,但是我需要那些引用

尝试在Web配置中添加Ajax处理程序,但不起作用。我像示例中一样将其添加到system.webServer中,并且我停止获取此异常

<handlers>
    <add name="AjaxFileUploadHandler" verb="*" 
      path="AjaxFileUploadHandler.axd"
      type="AjaxControlToolkit.AjaxFileUploadHandler, 
      AjaxControlToolkit"/>
</handlers>

编辑:

好吧,我可以使用它,我使用捆绑软件作为参考,并将其放在母版页眉上

  <%: Styles.Render("~/Content/adminlte") %>
<%: Styles.Render("~/Content/animate") %>
<%: Styles.Render("~/Content/fontawesome") %>
<%: Styles.Render("~/Content/iziToast") %>
<%: Styles.Render("~/Content/noty") %>
<%: Styles.Render("~/Content/css") %>
<%: Scripts.Render("~/Bundles/jquery") %>
<%: Scripts.Render("~/Bundles/adminlte") %>
<%: Scripts.Render("~/Bundles/jqueryval") %>
<%: Scripts.Render("~/Bundles/bounce") %>
<%: Scripts.Render("~/Bundles/fontawesome") %>
<%: Scripts.Render("~/Bundles/iziToast") %>
<%: Scripts.Render("~/Bundles/noty") %>
<%: Scripts.Render("~/Bundles/js") %>

我删除了它,但是它起作用了,但是我需要参考,所以我尝试放在身体上并且起作用了。它要求我提供脚本管理器,现在页面终于加载了显示的控件。

我在评论链接中看到了相同的问题。我在包头渲染周围放置了一个带有runat = server的占位符,它可以正常工作!

1 个答案:

答案 0 :(得分:1)

重复的问题,但我将答案留给有相同问题并迷失细节的人。

好的,安装AjaxControlKit之后,在工具箱上创建一个名为AjaxControlKit的选项卡,然后右键单击并选择项目,然后在项目解决方案资源管理器的程序包文件夹中浏览AjaxControlKit dll。

将其添加到web.config中

    <handlers>
    <add name="AjaxFileUploadHandler" verb="*" 
      path="AjaxFileUploadHandler.axd"
      type="AjaxControlToolkit.AjaxFileUploadHandler, 
      AjaxControlToolkit"/>
</handlers>

,如果您要使用捆绑包在母版页眉上呈现引用,请执行此操作

    <asp:PlaceHolder runat="server">
    <%: Styles.Render("~/Content/adminlte") %>
    <%: Styles.Render("~/Content/animate") %>
    <%: Styles.Render("~/Content/fontawesome") %>
    <%: Styles.Render("~/Content/iziToast") %>
    <%: Styles.Render("~/Content/noty") %>
    <%: Styles.Render("~/Content/css") %>
    <%: Scripts.Render("~/Bundles/jquery") %>
    <%: Scripts.Render("~/Bundles/adminlte") %>
    <%: Scripts.Render("~/Bundles/jqueryval") %>
    <%: Scripts.Render("~/Bundles/bounce") %>
    <%: Scripts.Render("~/Bundles/fontawesome") %>
    <%: Scripts.Render("~/Bundles/iziToast") %>
    <%: Scripts.Render("~/Bundles/noty") %>
    <%: Scripts.Render("~/Bundles/js") %>

</asp:PlaceHolder>

只需在它们周围创建一个占位符。有效!