如何根据对控制器中不同操作的调用,在原始视图中的弹出窗口或不同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)
{
答案 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()
回调捕获该错误。