0

autoPostBack = true で作成された2 つの radiobuttonlist (semesterList と sem1course)ここに画像の説明を入力

semesterList のアイテムの 1 つをクリックすると、対応する 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 とコースが選択された値を取得していないため、すべてのファイルが対応するフォルダーではなく ~/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 に答える