次のコードがありますが、何らかの理由で意図したとおりに機能していません。基本的に、この例をオンラインで見つけて、自分のニーズに合わせたいと思っていましたが、問題は、ページにImageListを表示できないように見えることです。
コードは次のとおりです:-
<script type="text/javascript">
$(document).ready(function () {
var imageList = $('#imageList');
//hide the imageList initially
imageList.hide();
});
var Project = {
save: function () {
var projectForm = $("#projectForm");
if (projectForm.valid()) {
projectForm.submit();
}
else {
Project.onInvalidForm();
}
},
onInvalidForm: function () {
//CODE FOR INVALID FORM
},
onSaveBegin: function () {
//CODE FOR SAVE BEGIN
},
onSaveSuccess: function () {
//CODE FOR SAVE SUCCESS
$('#imageList').fadeIn('slow');
},
onSaveFailure: function () {
//CODE FOR SAVE FAILURE
},
onSaveComplete: function () {
//CODE FOR SAVE COMPLETE
$('#imageList').fadeIn('slow');
}
};
</script>
@using (Ajax.BeginForm(
"/Create",
new { },
new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
OnComplete = "Project.onSaveComplete",
OnFailure = "Project.onSaveFailure",
OnSuccess = "Project.onSaveSuccess",
OnBegin = "Project.onSaveBegin"
},
new { id = "projectForm", name = "projectForm" }))
{
<div >
何が悪いのか、imageListを表示できないのか指摘できないようです。コードはを通過しています。onSaveSuccess: function ()
またonSaveCompete: function()
、alert('')
以前にコードを実行して、実際にそこから通過していることを確認しました。
あなたの助けと時間をありがとう
@if(Model != null)
{
@Html.Hidden("hfProjectId", Model.Project.ProjectID)
}
<div class="editor-label">
@Html.LabelFor(m => m.Project.ProjectTitle)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.Project.ProjectTitle)
@Html.ValidationMessageFor(m => m.Project.ProjectTitle)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.Project.ProjectText)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.Project.ProjectText)
@Html.ValidationMessageFor(m => m.Project.ProjectText)
</div>
<p>
<input type="submit" value="Create" />
</p>
</div>
}
<div id='imageList'>
@{
if (Model != null)
{
if(Model.Project.ProjectID > 0)
{
Html.Partial("~/Views/Shared/ImageUpload.cshtml", new MvcImageUploaderPartial.ViewModels.ImageModel(Model.Project.ProjectID, 2, "Edit"));
}
else
{
Html.Partial("~/Views/Shared/ImageUpload.cshtml", new MvcImageUploaderPartial.ViewModels.ImageModel(0, 0, "Create"));
}
}
}
</div>
** * ** * UPDATE * ** * ** * ** * ** * ** * ** * ** * プロジェクトコントローラー:-
[HttpPost]
public ActionResult Create(Project project)
{
ProjectModel viewModel = new ProjectModel();
if (ModelState.IsValid)
{
db.Projects.Add(project);
db.SaveChanges();
viewModel.Project = project;
return View("Create", viewModel);
}
return View(project);
}
ImageController:-
public ActionResult Index()
{
ImageModel model = new ImageModel();
return RedirectToAction("Create", "Project", model);
}
public ActionResult Save()
{
IEnumerable<Image> ImageList;
//if (!String.IsNullOrEmpty(TempData["ProjectId"].ToString()))
// iProjId = Convert.ToInt32(TempData["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();
ImageList = model.Populate();
model.Add(ImageList, image, file);
}
return RedirectToAction("Index", "Image");
}