Jquery模态对话框显示MVC3部分视图 - 仅第一次单击有效

4
 public ActionResult MeanQ(int id)
{            
    Access access= db.Access.Find(id);
    return PartialView("_MeanQPartial", access);
}

上面代码中正在呈现的部分视图显示在一个对话框模态窗口(Jquery)中...单击链接(onclick),可以在Jquery模态对话框中显示部分视图,第一次点击工作正常。一旦我关闭该对话框并再次单击链接,部分视图就不会像预期的那样以弹出窗口形式打开。它将在浏览器中作为新页面打开。如何使弹出模态对话框链接每次都能正常工作?
以下是Javascript代码(Jquery模态对话框):
<script type="text/javascript">
$(document).ready(function () {
    //initialize the dialog
    $("#result").dialog({ width: 400, resizable: true, position: 'center', title: 'Access info', autoOpen: false,
        buttons: { "Ok": function () { $(this).dialog("close"); } }
    });
});

$(function () {
    $('#modal').click(function () {
        //load the content from this.href, then turn it into a dialog.

        $('#result').load(this.href).dialog('open');
        return false;
    });
});

触发模态对话框的HTML链接:

@Html.ActionLink("PopUp", "MeanQ", new { id = item.AccID }, new { id = "modal" })

2
你需要展示jQuery/JavaScript代码以及HTML,否则很难准确地发现问题所在。 - Joakim
ActionResult 不控制它是否在新窗口中显示,浏览器通过脚本/标记/浏览器配置来控制。 - patridge
请查看我对原帖的JavaScript代码的修改。谢谢。 - ZVenue
#modal жҳҜ #result зҡ„еӯҗе…ғзҙ иҝҳжҳҜеңЁеұҖйғЁи§Ҷеӣҫ _MeanQPartial дёӯиҝ”еӣһзҡ„пјҹ - Mark Coleman
@Mark:我不确定你在这里具体指什么,但似乎#modal是#result div的子元素。我漏掉了另外一行,就在<Script>标签的上方...这一行代码是<div id="result"></div>。也许这会回答你的问题。 - ZVenue
显示剩余5条评论
3个回答

4

1

不了解你的JavaScript,我的猜测是在加载PartialView时,你以某种方式替换了<a/>元素,因为你提到<a/>在加载模态框后执行默认操作。

例如:

$("#someA").click(function(){
  //loads the modal and replaces #someA
});

尝试使用 .live()
$("#someA").live("click", function(){
  //loads the modal and replaces #someA, but still works since you used live()
});

如果元素有一个共同的父级,那就更好了,你可以使用.delegate()

$("#someParentOfA").delegate("#someA", "click", function(){

});

谢谢。请查看我对原帖的编辑 - 关于JS代码。我尝试了你建议的“.live”,但它没有起作用。 - ZVenue
感谢Charlino和Patricia的帮助,这个问题已经解决。https://dev59.com/XljUa4cB1Zd3GeqPPDJC - ZVenue

0
你在使用MVC3吗?如果你返回一个“ActionResult”,改为返回一个“PartialViewResult”可能会更有帮助。

感谢Charlino和Patricia的帮助,这个问题已经解决。https://dev59.com/XljUa4cB1Zd3GeqPPDJC - ZVenue

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接