根据单击url操作在弹出窗口或html div中显示不同的视图

时间:2014-09-13 23:59:49

标签: javascript jquery ajax asp.net-mvc asp.net-mvc-4


如何根据对控制器中不同操作的调用,在原始视图中的弹出窗口或不同div位置显示视图

我尝试使用ajax调用,但它没有用。我不知道为什么。我使用了jquery模型对话框,但它将用户重定向到另一个空的背景页面并显示弹出窗口。

不要更改原始页面非常重要。

我感谢任何帮助。

function ButtonClick(x) {
    $.ajax({
        type: "POST",
        cache: false,
        url: "Tasks/AddWorkersToTask",
        data: { id: x },
        dataType: "html",
        async: true,
        success: function (data) {
            $("#Content").html(data);
              alert('success');
        }
    });
    return false;
}


<a class="Tab" href="#" onclick="ButtonClick('@Model.PK_TaskID');"> AJAX Call </a>

<div id="Content">  </div>

修改 控制台中的错误是:传递给getElementById()的空字符串。

此功能运作良好。我尝试测试它以防万一行动链接并成功添加数据。

    public ActionResult AddWorkersToTask(int id=0)
    {
        TempData["TaskID"] = id;
        return PartialView();

    }
    [HttpPost]
    public ActionResult AddWorkersToTask(FormCollection form, string textbox1,string TaskID)
    {

1 个答案:

答案 0 :(得分:0)

首先,查看控制器中的签名。 AJAX请求需要与此匹配。

type: "POST",
data: { id: x }

public ActionResult AddWorkersToTask(int id=0)

[HttpPost]
public ActionResult AddWorkersToTask(FormCollection form, string textbox1,string TaskID)

如果您定位HttpPost,则签名错误。或者它需要是GET请求。您的AJAX应该抛出一个错误,您需要使用.error()回调捕获该错误。