0

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からコントローラーを呼び出す他の方法です.

ありがとう

4

2 に答える 2

0

以下のことをお試しください。

1) ページに jQuery エラーがあってはなりません

2) 以下の直接 URL $.ajax({ url: 'ControllerName/SaveImage',

3) コントローラーの型を返す

[HttpPost] public JSONResult SaveImage(int imageids)

于 2012-08-18T08:44:35.053 に答える
0

このようにコントローラーのアクション結果を呼び出してみてください

   $.ajax({
        type: 'POST',
        url: "@Url.Content("/controllerName/SaveImage/")",
于 2012-08-18T08:37:18.897 に答える