1

基于下拉列表,我正在获取价值并需要用于 ajax 文件上传,现在的问题是我正在正确获取价值,我正在使用两个 ajax 文件上传(ajaxUpload1_OnUploadComplete 和 ajaxUpload2_OnUploadComplete),每当我单击上传控件时从两个控件上传文件转到一个上传方法(ajaxUpload1_OnUploadComplete)仅用于上传文件。我需要一个解决方案。提前致谢。

在 .cs

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {

        Session["Value"] = DropDownList1.SelectedItem.Text;
    }

protected void ajaxUpload1_OnUploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
    {
        String value = Session["Value"].ToString();
    }

 protected void ajaxUpload2_OnUploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
    {
        String value1 = Session["Value"].ToString();
    }

在 .aspx 中

 <asp:AjaxFileUpload ID="AjaxFileUpload1" AllowedFileTypes="jpg,jpeg" MaximumNumberOfFiles="10" ThrobberID="1" ContextKeys="1"  OnUploadComplete="ajaxUpload1_OnUploadComplete" runat="server"/>

 <asp:AjaxFileUpload ID="AjaxFileUpload2" AllowedFileTypes="jpg,jpeg"  ThrobberID="2"  MaximumNumberOfFiles="10" ContextKeys="2" OnUploadComplete="ajaxUpload2_OnUploadComplete" runat="server" />
4

2 回答 2

2

我认为这是我之前询问过的 AjaxFileUpload 中的一个错误,除了解决此问题的解决方法外,从未得到任何答复。

private string ContextKey = "";
public AjaxFileUpload()
            : base(true, HtmlTextWriterTag.Div)
        {
            if (HttpContext.Current.Items["lastAjaxFileUploadContextKey"] == null)
            {
                HttpContext.Current.Items["lastAjaxFileUploadContextKey"] = 1;
            }
            else
            {
                HttpContext.Current.Items["lastAjaxFileUploadContextKey"] = (int)HttpContext.Current.Items["lastAjaxFileUploadContextKey"] + 1;
            }

            ContextKey = HttpContext.Current.Items["lastAjaxFileUploadContextKey"].ToString();
        }
于 2013-01-23T05:07:17.390 回答
1

我也遇到了同样的问题,所以我只删除了第二个 Ajaxfileupload 控件,然后根据下拉选择的值上传文件。我只是使用单个文件上传控件,并添加 Dropdownlist selectedindexchanged 事件,因为您设置了相应的路径。

于 2014-03-01T09:34:26.927 回答