0

使用 autoPostBack = true 创建的两个单选按钮列表(semesterList 和 sem1course) 。 在此处输入图像描述

当我单击一个学期列表项目时,相应的 sem1course 项目变为可见。

现在

    protected void UploadComplete(Object sender,   AjaxControlToolkit.AjaxFileUploadEventArgs      e)
   {

   string sem = semesterList.SelectedValue;
   string course = sem1course.SelectedValue;
   string path = Server.MapPath("~/MCA/" + sem+ "/" +course +"/")+e.FileName;
   AjaxFileUpload1.SaveAs(path);
   } 

字符串 sem 和 course 没有获得选定的值,这就是为什么所有文件都上传到 ~/MCA/ 文件夹而不是进入相应的文件夹..

上传的文件应该去“ MCA\Sem1\MCA101\ ” [我已经设计了目录结构但文件上传到了MCA文件夹]..

4

1 回答 1

0

问题是Request.Form["__VIEWSTATE"] = null何时调用 AjaxFileUpload OnUploadComplete 事件。

修复此问题(C# 代码):

在页面加载时在会话中设置 RadioButtonList 选定值。

protected void Page_Load(object sender, EventArgs e)
{
 if (Request.Form["__VIEWSTATE"] != null)
    Session["Path"] = "//" + semesterList.SelectedValue + "//" + sem1course.SelectedValue + "//";
}

使用会话值创建文件路径:

protected void upload(Object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
{
        string path = string.Empty;
        if (Session["Path"] != null)
            path = Server.MapPath("~//MCA" + (string)Session["Path"]) + e.FileName;
}
于 2013-03-26T12:51:00.893 回答