mvc控制器没有从js开火

时间:2012-08-18 05:36:57

标签: javascript jquery asp.net-mvc

我需要在图像拖动时从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调用控制器的任何其他方式。

感谢

2 个答案:

答案 0 :(得分:0)

尝试像这样调用控制器动作结果

   $.ajax({
        type: 'POST',
        url: "@Url.Content("/controllerName/SaveImage/")",

答案 1 :(得分:0)

请尝试以下事项。

1)您的页面不应该有任何jQuery错误

2)尝试使用下面的直接网址 $就({             url:'ControllerName / SaveImage',

3)返回控制器类型

[HttpPost] public JSONResult SaveImage(int imageids)