У меня есть 8 страниц с пометкой Step0-Step7
, которые используются для постепенного сохранения данных в модель под названием dr405
. После Step7
мне нужно отобразить файл Upload.cshtml, который создает папку на основе DR405Profile.CurrentUser.TangiblePRopertyID
из моего настраиваемого поставщика профилей. Итак, на данный момент я не публикую ничего от Step7
до Upload.cshtml. После Upload.cshtml я отображаю UploadSummary.cshtml, который просто перечисляет файлы, расположенные в каталоге на основе DR405Profile.CurrentUser.TangiblePRopertyID
. Теперь я должен перевести пользователя на страницу review
, которая отображает постоянные данные БД для модели dr405. Означает ли это, что я должен передать свою модель через Upload и UploadSummary, даже если эти страницы не взаимодействуют с моделью?
Мой план - передать идентификатор как скрытый параметр из
step7 -> Upload -> UploadSummary -> Review (id) <- сообщение принимает ID в качестве параметра. Я не уверен, что это лучший способ. </p>
Важный момент
Я хочу понять, могу ли я сделать то же самое с моделью
Step7 (модель) -> Загрузка (модель) -> Загрузка (модель) -> Просмотр (идентификатор или модель)
public ActionResult Review(string id)
{
var service = new DR405Service();
var dr405 = db.dr405s.FirstOrDefault(d => d.TangiblePropertyId == id);
return View(dr405);
}
public ActionResult UploadSummary()
{
var saveLocation = Path.Combine(Server.MapPath("\\"), "returns\\" + DR405Profile.CurrentUser.TangiblePropertyId);
ViewData["files"] = Directory.GetFiles(saveLocation).ToList() ;
return View();
}
[HttpPost]
public ActionResult Upload(HttpPostedFileBase uploadfile)
{
var saveLocation = Path.Combine(Server.MapPath("\\"), "returns\\" + DR405Profile.CurrentUser.TangiblePropertyId);
System.IO.Directory.CreateDirectory(saveLocation);
uploadfile.SaveAs(Path.Combine(saveLocation, Path.GetFileName(uploadfile.FileName)));
ViewData["UploadStatus"] = String.Format("File name: {0}, {1}Kb Uploaded Successfully.", uploadfile.FileName, (int)uploadfile.ContentLength / 1024);
return View();
}