App_Data 디렉토리에 파일을 저장하고 디렉토리를 만들 수있는 작은 asp.net MVC 1 웹 앱이 있습니다. 쓰기 작업이 성공하면 tempdata에 메시지를 추가하고 redirectToRoute를 수행합니다. 문제는 작업이 실행될 때 tempdata가 null이라는 것입니다. 웹 응용 프로그램 루트 디렉토리 외부의 디렉토리에 파일을 쓰면 tempdata가 null이 아니며 모든 것이 올바르게 작동합니다. app_data에서 글쓰기가 tempdata를 지우는 이유는 무엇입니까?App_Data에 파일을 쓰면 tempdata가 null이됩니다.
편집 :DRS.Logic.Repository.Manager.CreateFile (경로, hpf, 주석)이 App_Data에 기록하면 TempData는 리디렉션되는 작업에서 null이됩니다. 그것이 웹 응용 프로그램 루트 밖으로 디렉토리라면 괜찮습니다. 예외는 발생하지 않습니다.
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(int id, string path, FormCollection form)
{
ViewData["path"] = path;
ViewData["id"] = id;
HttpPostedFileBase hpf;
string comment = form["FileComment"];
hpf = Request.Files["File"] as HttpPostedFileBase;
if (hpf.ContentLength != 0)
{
DRS.Logic.Repository.Manager.CreateFile(path, hpf, comment);
TempData["notification"] = "file was created";
return RedirectToRoute(new { controller = "File", action ="ViewDetails", id = id, path = path + Path.GetFileName(hpf.FileName) });
}
else
{
TempData["notification"] = "No file were selected.";
return View();
}
}
코드를 게시하십시오. 다른 디렉토리에 글을 쓸 때 여전히 RedirectToRoute를 사용하고 있습니까? – Lazarus
예 아직 redirecttoroute를 사용하고 있습니다. 실제 파일을 작성하는 코드는 간단하며 예외는 발생하지 않습니다. 동일한 결과를 사용하여 redirectToAction을 시도했습니다. – RAMX