基于下拉列表我正在获得价值并且需要用于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" />
答案 0 :(得分: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();
}
答案 1 :(得分:1)
我也遇到了同样的问题,所以我只删除了第二个Ajaxfileupload控件,然后根据下拉列表选择值上传文件。我只是使用单个文件上载控件,并添加Dropdownlist selectedindexchanged事件,因为你设置路径是否为。