默认情况下这包含我的剃刀视图,请注意我使用的是AJAX链接,下面也是控制器方法。
<td class="questionText">@Ajax.ActionLink("some text", "PreviewQuestion", new { questionId = question.Id },
new AjaxOptions() { InsertionMode = InsertionMode.Replace, UpdateTargetId = "target" })</td>
public ActionResult PreviewQuestion(int questionId)
{
db = new ContosoDb();
var question = db.Questions.Find(questionId);
return PartialView("_MultipleChoiceQuestion", question);
}
正如您所看到的,我正在尝试更新Jqueryd对话框的当前视图,这是我的目的。我打算使用以下插件:
http://jqueryui.com/dialog/#default
到现在为止,如果我在return PartialView(...)
中设置断点是可以的。但是我不知道在哪里可以编写代码以显示弹出窗口,并通过动作控制器更新对话框内容。
答案 0 :(得分:1)
我认为你的部分视图是返回某种HTML代码段,你打算通过使用该插件将其转换为对话框。你需要在ajax调用中再增加一个参数,例如
new AjaxOptions() { InsertionMode = InsertionMode.Replace, UpdateTargetId = "target",OnComplete = "your_js_function();" }
该功能将类似于
function your_js_function()
$( "#target" ).dialog();
}
该功能的目的是触发对话框的外观。
我希望有帮助
答案 1 :(得分:1)
使用 AjaxOptions 的 OnSuccess 事件来连接javascript代码。 OnSuccess会将调用结果传递给您,在这种情况下是部分视图的内容。现在您可以使用jqDialog来显示内容 您的javascript函数大致如下所示
function processResults(results){
$(results).dialog();
}