imag のドラッグ時に JavaScript からコントローラー アクションを呼び出す必要があります。
私のJavaScriptコードは
$trash.droppable({
accept: "#gallery > img",
// activeClass: "ui-state-highlight",
drop: function (event, ui) {
var a = ui.draggable;
var itemsarray = [];
itemsarray.push(a[0].id);
// $.getJSON('@Url.Action("SaveImage")', { imageids: itemsarray }, function (mydata) {
// alert(mydata);
// });
$.ajax({
url: '@Url.Action("SaveImage")',
data: JSON.stringify({ imageids: 1 }),
contentType: 'application/json',
dataType: 'json',
type: 'POST',
success: function (mydata) {
alert(mydata);
}
});
deleteImage(ui.draggable);
}
});
私のコントローラーコードでは、
[HttpPost]
public ActionResult SaveImage(int imageids)
{
GalleryService galService = new GalleryService();
//galService.UpdatePublishedImages(imageids);
// return View("Index");
return Json("test",JsonRequestBehavior.AllowGet);
}
そして私の見解は
@using (Html.BeginForm("UploadImage", "Gallery", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div class="uploadMiddlePanel ">
<p class="title">
<img src="Images/event_equation_icon.png" width="25" height="25" alt="event Logo" />
Gallery Management</p>
<p class="lightGrayTitle">
Upload Images</p>
<div class="UploadContainer">
<div class="uploadImagePanel" id="gallery">
@foreach (var src in @imageList)
{
<img src="@Url.Content("~/Content/GalleryImages/" + src.Text)" id="@Url.Content(src.Value)" alt="Image" class="imagePreview" />
}
しかし、私のjs呼び出し関数はコントローラーの前にありませんでした.何かが欠けているか、jsからコントローラーを呼び出す他の方法です.
ありがとう