jQuery - 动态加载 ASP.NET 部分视图到模态框中
问题的原因是使用Html.Partial()
方法将部分视图存储在JavaScript字符串中,但这种方法存在一些问题。解决方法是使用jQuery动态加载ASP.NET部分视图到模态框中。
解决方法如下:
1. 在AddModal()
方法中,发送一个GET请求,访问一个返回部分视图的动作,并将其作为HTML返回。
2. 将返回的HTML替换#basicModal
的内容。
3. 由于$.get()
是一个异步调用,所以在数据获取之前,.modal("show")
可能会触发。可以通过让AddModal()
方法返回$.get()
生成的promise来解决这个问题。
4. 调用AddModal()
方法后,使用.done()
方法来在数据获取完成后显示模态框。
以下是完整的代码示例:
AddModal = function() { var partialHtml; var url = '../Modal/Index?id=1'; return $.get(url, function(data) { $("#basicModal").html(data); }); }; AddModal().done(function() { $("#basicModal").modal("show"); });
这个例子非常棒,非常感谢。唯一的问题是我需要用append
替换.replaceWith
,否则我的模态框会出现在背景后面。非常感谢!
谢谢。当时早上,我的大脑还没完全清醒。应该使用.html()
方法,因为这将替换掉任何现有内容,并用抓取到的新内容替换它。