ajax文件在页面上上传多个输入

2023-12-02

我正在使用 ajaxFileUpload,如下所述:http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AjaxFileUpload/AjaxFileUpload.aspx

它工作正常,除非我在同一页面上有多个文件上传控件。具体来说,我正在尝试针对不同的问题上传不同的文件。当我在页面上上传第一个时,它工作正常,但页面下方的那个只会将其文件上传到第一个问题的答案中。

我不确定这是否有意义......所以它可能会帮助您知道我的页面是使用 ascx 文件动态填充问题的。文档 ascx 文件如下所示:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Document.ascx.cs" Inherits="ScholarshipApplication.controls.questions.Document" %>


<ajaxToolkit:AjaxFileUpload OnUploadComplete="UploadComplete"  ID="FileUploadControl" MaximumNumberOfFiles="1" runat="server" AllowedFileTypes="png,jpg,jpeg,pdf,tiff,tif,gif" />
<asp:LinkButton ID="downloadButton" runat="server" CausesValidation="false" OnClick="downloadButton_Click" />

以及背后的代码:

public void UploadComplete(object sender, AjaxFileUploadEventArgs e)
        {
            entry.data = e.FileName;
            entry.setDocumentData(e.GetContents());

            this.downloadButton.Text = e.FileName;
        }

我最初的想法是,我需要以某种方式帮助控件生成的 JavaScript 来知道它应该何时触发哪个问题。


我相信这是控制中的错误,或者是由于某些不明显的原因而实现的。实际上,该控件不支持页面上的多个实例。考虑使用异步文件上传控件相反或自定义一些源AjaxFileUpload控制。如果您更喜欢第二种选择,那么您需要从这里下载源:http://ajaxcontroltoolkit.codeplex.com/SourceControl/BrowseLatest并更改 AjaxFileUpload.cs 文件(这里是路径:/Server/AjaxControlToolkit/AjaxFileUpload/AjaxFileUpload.cs)。你需要做的就是改变ContextKey用于将上下文键 guid 与控件的唯一 id 相结合的属性常量:

public class AjaxFileUpload : ScriptControlBase
{
    private const string ContextKeySuffix = "{DA8BEDC8-B952-4d5d-8CC2-59FE922E2923}";

    private string ContextKey
    {
        get { return this.UniqueID + "_" + ContextKeySuffix; }
    }

其实如果你愿意看的话PreRender的方法AjaxFileUpload类,您将很容易意识到该控件的此类行为的原因(第一个控件处理页面上所有同级控件的上传)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ajax文件在页面上上传多个输入 的相关文章

随机推荐

  • 如何在perl中将参数传递给系统命令

    我的命令 system start cmd exe k C script pl arg1 arg2 arg3 没有正确传递参数 这样做的正确方法是什么 Thx 最好的调用方式system是一个数组或一个列表 my args start cm
  • 在 PHP 中运行 Python 脚本:捕获所有输出

    我有一个Python程序有多个print其中的陈述 当我执行程序时PHP 显示的输出只是最后一个打印的值print陈述 有没有办法捕获所有打印的值print中的陈述Python script PHP code 尝试用shell exec 通
  • Android-SeparatedListAdapter-如何在 onClick 上获取准确的项目位置?

    我使用Sharkey 的SeparatedListAdapter 类来获得按部分分隔的ListView 课程效果很好 但我遇到的问题是我的onListItemClick 处理程序 如果我有以下分段列表 A Alex Allan B Barr
  • JAXB:我应该如何编组复杂的嵌套数据结构?

    我有几个复杂的数据结构 例如 Map lt A Set lt B gt gt Set lt Map lt A B gt gt Set lt Map lt A Set lt B gt gt gt Map lt A Map lt B Set l
  • AWS S3 Java:d​​oesObjectExist 结果为 403:FORBIDDEN

    我的 Java 程序使用 AWS SDK 与 S3 存储桶交互时遇到问题 这是我用来创建 S3 客户端的代码 public S3StorageManager S3Config config throws StorageException B
  • Apache HttpClient 4.5 将 POST 请求重定向到 GET 请求

    我正在尝试点击 post 端点 但它给出了错误 302 当我在同一服务器上尝试另一个 get Url 时 它给了我 200 然后我使用 LaxRedirectStrategy 重定向了 post 请求 post 请求正在重定向到 get 请
  • 批处理文件:获取文件夹的创建日期

    有没有办法以纯批处理文件 无电源脚本 获取文件夹的创建日期 特别是 我想将它放入这个 for 循环中 FOR f tokens G in dir b s a d C asdf DO CALL loopbody tG G 该循环调用一个 函数
  • 使用 cmake 共享库的未定义引用

    我已经找到了很多地方来寻找这个答案 但我一直无法找到任何适合我的情况的东西 这看起来很容易 这就是为什么这如此令人沮丧 我正在用 CMAKE 构建一个项目 我正在生成两个共享库 一个包含另一个 我还生成了一个可执行文件 该可执行文件正在链接
  • Safari 钥匙串防止使用 html

    Solve 我在我的项目前一天搜索这个问题 最后我找到了下面带有插件的解决方案 这个插件的工作结构是这样的 它获取您的输入并克隆它 使用此克隆并创建相同的输入属性并将其克隆为另一个隐藏输入 之后删除您的原始输入并将隐藏和克隆的输入放在相同的
  • 当 DoubleBuffered 设置为 true 时重写 OnPaint 时出现问题

    我创建了一个源自面板的自定义控件 我用它来使用BackgroundImage 属性显示图像 我重写 OnClick 方法并将 isSelected 设置为 true 然后调用 Invalidate 方法并在重写的 OnPaint 中绘制一个
  • C++ 的默认继承访问说明符? [复制]

    这个问题在这里已经有答案了 我有一些必须包装的遗留代码 并且我遇到了这个声明 class Foo Bar 这似乎可以在 GCC 下编译 我知道这样不好 但我无法改变 我的问题是 如果不存在继承访问说明符 C 编译器如何处理它 对于类 默认值
  • 我无法让我的 Prolog DCG 与atom concat一起工作

    我无法让这个 Prolog DCG 代码工作 String1 string codes String1 Codes phrase spaces Output Codes spaces XXs gt X X 32 spaces Xs char
  • selenium RC 不运行整个测试套件

    我正在尝试使用 Selenium RC 运行 HTML testSuite 浏览器启动 第一个测试运行 然后停止 它不会继续到第二个测试用例 我将这两个测试用例命名为 html 扩展名 我正在使用火狐浏览器 如果我从 selenium RC
  • 如何在MATLAB中计算两个频率向量之间的余弦相似度?

    我需要在 MATLAB 中找到两个频率向量之间的余弦相似度 向量示例 a 2 3 4 4 6 1 b 1 3 2 4 6 3 如何在 MATLAB 中测量这些向量之间的余弦相似度 快速浏览一下数学定义余弦相似度 根据定义 您只需要点积向量的
  • 使用vba获取activex组合框的选定值

    如何获取组合框的选定值 我有一个组合框 其值为 公司 和 消费者 我想获取我选择的值 而不是索引 并将其存储在字符串中 像这样的东西 string a combobox value a gt 消费者 谢谢 如果您的组合框嵌入在电子表格中 您
  • 多个 Flutter 动画相继无法工作

    我是颤振的新手 目前我正在尝试制作一个简单的应用程序 当打开应用程序时 会出现一个文本fadeIn并改变其position from bottom to top 是的 有两个animations我想要Transit 第一个是FadeIn完成
  • 结束斜杠之前有空格吗?

    我经常在 XML 和 HTML 标记中看到结束斜杠之前有一个空格 XHTML 换行符可能是典型的示例 br 代替 br 这个空间似乎是多余的 其实我觉得这是多余的 写这个空间的原因是什么 我读到该空间解决了一些 向后兼容性问题 哪些向后兼容
  • 通过排除重叠本身来计算优先重叠时段的持续时间总和

    我有一个 R 代码 我正在尝试在 PostgreSQL 中重写它 以提供 grafana 仪表板 我确实有基础知识 所以我几乎完成了脚本的其他部分 但我现在在 PostgreSQL 中试图完成的事情超出了我的能力范围 我在 StackOve
  • 在计算中操作文本框变量

    我有一些代码试图在标签页中使用变量 第一个标签页只有一个用于用户输入的文本框 miles text 和一个用于计算的按钮 行程时间 里程 速度 miles text 中的值存储在名为 mileage 的变量中 而使用的速度存储在名为 spe
  • ajax文件在页面上上传多个输入

    我正在使用 ajaxFileUpload 如下所述 http www asp net ajaxLibrary AjaxControlToolkitSampleSite AjaxFileUpload AjaxFileUpload aspx 它