我有一個File.aspx表單顯示所有文件。如何在文件上傳後重定向?
當我上傳文件時,我正在使用upload.aspx文件運行c#代碼來上傳文件。
問題是,最後,我想自動刷新頁面以顯示新的文件上傳,但顯然即使所有參數都很好,它也不會重定向。
這是我的代碼使用
HttpContext postedContext = HttpContext.Current;
string param = Request.UrlReferrer.Query;
string param2 = Request.UrlReferrer.Query;
var url = HttpUtility.ParseQueryString(param).Get("projectName");
var url2 = HttpUtility.ParseQueryString(param2).Get("projectId");
HttpPostedFile file = postedContext.Request.Files[0];
string name = file.FileName;
byte[] binaryWriteArray = new
byte[file.InputStream.Length];
file.InputStream.Read(binaryWriteArray, 0,
(int)file.InputStream.Length);
//FileStream objfilestream = new FileStream(Server.MapPath("~\\" + "\\Files\\" + url + "\\" + name), FileMode.Create, FileAccess.ReadWrite);
FileStream objfilestream = new FileStream(("C:\\inetpub\\wwwroot\\Clientportal\\Files\\" + url + "\\" + name), FileMode.Create, FileAccess.ReadWrite);
objfilestream.Write(binaryWriteArray, 0, binaryWriteArray.Length);
objfilestream.Close();
string[][] JaggedArray = new string[1][];
JaggedArray[0] = new string[] { "File was uploaded successfully" };
JavaScriptSerializer js = new JavaScriptSerializer();
string strJSON = js.Serialize(JaggedArray);
Response.Write(strJSON);
Response.Redirect(string.Format("Files.aspx?projectId={0}&projectName={1}", url2, url));
任何想法?我有點卡住了,因爲我在任何地方都使用這個response.redirect,它只有在代碼在同一個代碼文件中時才起作用...
也許是因爲我試圖從另一個代碼文件重定向?
ASP.NET是否允許您在重定向之前輸出任何內容?重定向只是一個位置標題,在標題中發送給客戶端。但是在這之前它只有HEADER,並且頁面獲得內容。或者這就是我習慣的方式。所以請嘗試註釋掉Response.write並再次檢查? – 2012-02-15 12:52:18
沒有用。這很奇怪,因爲當我使用這個重定向時,它在同一個代碼文件中工作的很好。但在這裏我打電話給另一個,它不想重定向。我沒有刪除Json的響應,它仍然沒有改變任何東西。 – Kiwimoisi 2012-02-15 16:55:10