В принципе у меня есть образ загрузки контроллера, что я вставив в страницах следующим образом: -Упорство ID по всему ASP.NET MVC Просмотры
<div id='imageList'>
<h2>Upload Image(s)</h2>
@{
if (Model != null)
{
Html.RenderPartial("~/Views/File/ImageUpload.cshtml", new MvcCommons.ViewModels.ImageModel(Model.Project.ProjectID));
}
else
{
Html.RenderPartial("~/Views/File/ImageUpload.cshtml", new MvcCommons.ViewModels.ImageModel(0));
}
}
</div>
Так я передаю идентификатор к ImageUpload, в этом случае ProjectID, чтобы я мог включить его в мою вставку.
Теперь это кусок кода заселение в ImageModel (ID), в моем случае его ProjectID: -
public ImageModel(int projectId)
{
if (projectId > 0)
{
ProjectID = projectId;
var imageList = unitOfWork.ImageRepository.Get(d => d.ItemID == projectId && d.PageID == 2);
this.AddRange(imageList);
}
}
и это, в свою очередь, приводит к ImageUploadView.cshtml: -
<table>
@if (Model != null)
{
foreach (var item in Model)
{
<tr>
<td>
<img src= "@Url.Content("/Uploads/" + item.FileName)" />
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
</tr>
}
}
</table>
@using (Html.BeginForm("Save", "File", new { ProjectID = Model.ProjectID },
FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="file" />
<input type="submit" value="submit" /> <br />
<input type="text" name="description" />
}
до сих пор так хорошо, однако моя проблема заключается в том, что в первый раз
new { ProjectID = Model.ProjectID }
правильно заселенный с Pro jectID, однако, когда я загружаю изображение, ProjectID теряется и становится нулевым. Есть ли способ, которым я могу повторить ProjectID во второй раз?
Thansk - ваша помощь и время.
** * ** * ** * UPDATE * ** * ** * ** * ** * ** * ** * ** * *** После загрузки, действие следующим образом внутри FileController: -
public ActionResult Save(int ProjectID)
{
foreach (string name in Request.Files)
{
var file = Request.Files[name];
string fileName = System.IO.Path.GetFileName(file.FileName);
Image image = new Image(fileName, Request["description"]);
ImageModel model = new ImageModel();
model.Populate();
model.Add(image, file);
}
return RedirectToAction("ImageUpload");
}
Я могу думать, что это определение маршрута save/file/id в вашем global.asax. – maztt
Привет мажар, не могли бы вы привести мне пример или указать мне на какой-то учебник. Никогда не делал этого до – Johann
После загрузки изображения вы все еще показываете тот же вид? Можете ли вы опубликовать некоторый код действия «Сохранить/Файл»? – VJAI