我有一个主视图(比如一个下拉列表),我用模型“TabViewModel”绑定视图。
在主视图中我有一个链接按钮,点击后我需要调用一个jquery对话框,在这个对话框中我需要显示相同的下拉列表(我在主视图中从DDL中选择一个项目,需要在这里显示所选。)
要获取所选DDL的值,我们在下面的调用中执行$ .post并调用下面的控制器方法,该方法在jquery对话框中加载局部视图。
$(function(){
$ .ajaxSetup({cache:false});
//连接任何当前或未来对话链接的点击事件
$('。dialogLink')。live('click',function(){
var dialogId ='uniqueName-'+ Math.floor(Math.random()* 1000)
var dialogDiv =“”;
//将表单加载到对话框div
中var data = $('form')。serialize();
$ .post(this.href,data)
.success(function(result){
警报(结果);
$(dialogDiv)的.html(结果); })
$(dialogDiv).dialog({
/ 选项 /});
返回false;
});
});
public ActionResult OpenReportDialog(TabViewModel model)
{ 返回PartialView(模型); }
一切都很完美,但jquery对话框没有任何内容,但我们得到了正确的HTML(警告(结果); )。
下面是局部视图(OpenReportDialog.cshtml) @model TabViewModel
@ Model.FirstName(示例)请让我知道jquery代码有什么问题,为什么Html没有使用对话框呈现。谢谢!
答案 0 :(得分:0)
您的目标对话框中没有指向它的选择器。
var dialogDiv = "";
因此你的jQuery对话框中没有显示任何内容。
$(dialogDiv).html(result);
使用
更新上述声明$("#Idofyourdiv").html(result);
希望有所帮助
答案 1 :(得分:0)
我找到了解决方案,我们需要这样做,
.success(function (result) {
alert(result);
$(dialogDiv).html(result).dialog({
/options/});
});