当前位置: 首页 > 知识库问答 >
问题:

使用引导模式窗口作为PartialView

黄锋
2023-03-14

我希望使用Twitter引导模式窗口作为部分视图。然而,我并不真的认为它被设计成以这种方式使用;它似乎是为了以相当静态的方式使用。然而,我认为能够将其用作部分视图会很酷。

比如说,我有一个游戏列表。单击给定游戏的链接后,我希望从服务器请求数据,然后在当前页面顶部的模式窗口中显示有关该游戏的信息。

我做了一些研究,发现这篇文章很相似,但不完全相同。

有没有人尝试过成功或失败?有人在JSFIDLE上有什么东西或者他们愿意分享的一些来源吗?

谢谢你的帮助。

共有3个答案

东郭凯捷
2023-03-14

我通过使用我在这里找到的一个很好的例子实现了这一点。我已经用TwitterBootstrap模式窗口替换了该示例中使用的jquery对话框。

夹谷浩博
2023-03-14

我用胡子做这个。js和模板(您可以使用任何JavaScript模板库)。

在我看来,我有这样的东西:

<script type="text/x-mustache-template" id="modalTemplate">
    <%Html.RenderPartial("Modal");%>
</script>

...这让我可以将模板保存在一个名为Modal.ascx的部分视图中:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
    <div>
        <div class="modal-header">
            <a class="close" data-dismiss="modal">&times;</a>
            <h3>{{Name}}</h3>
        </div>
        <div class="modal-body">
            <table class="table table-striped table-condensed">
                <tbody>
                    <tr><td>ID</td><td>{{Id}}</td></tr>
                    <tr><td>Name</td><td>{{Name}}</td></tr>
                </tbody>
            </table>
        </div>
        <div class="modal-footer">
            <a class="btn" data-dismiss="modal">Close</a>
        </div>
    </div>

我为视图中的每个模式创建占位符:

<%foreach (var item in Model) {%>
    <div data-id="<%=Html.Encode(item.Id)%>"
         id="modelModal<%=Html.Encode(item.Id)%>" 
         class="modal hide fade">
    </div>
<%}%>

...并使用jQuery进行ajax调用:

<script type="text/javascript">
    var modalTemplate = $("#modalTemplate").html()
    $(".modal[data-id]").each(function() {
        var $this = $(this)
        var id = $this.attr("data-id")
        $this.on("show", function() {
            if ($this.html()) return
            $.ajax({
                type: "POST",
                url: "<%=Url.Action("SomeAction")%>",
                data: { id: id },
                success: function(data) {
                    $this.append(Mustache.to_html(modalTemplate, data))
                }
            })
        })
    })
</script>

然后,你只需要在某个地方触发:

<%foreach (var item in Model) {%>
    <a data-toggle="modal" href="#modelModal<%=Html.Encode(item.Id)%>">
        <%=Html.Encode(item.DutModel.Name)%>
    </a>
<%}%>
欧阳英彦
2023-03-14

是的,我们已经这样做了。

在你的索引中。cshtml您将得到类似。。

<div id='gameModal' class='modal hide fade in' data-url='@Url.Action("GetGameListing")'>
   <div id='gameContainer'>
   </div>
</div>

<button id='showGame'>Show Game Listing</button>

然后在同一页面的JS中(内联或在单独的文件中),您将看到如下内容。。

$(document).ready(function() {
   $('#showGame').click(function() {
        var url = $('#gameModal').data('url');

        $.get(url, function(data) {
            $('#gameContainer').html(data);

            $('#gameModal').modal('show');
        });
   });
});

控制器上的方法如下所示。。

[HttpGet]
public ActionResult GetGameListing()
{
   var model = // do whatever you need to get your model
   return PartialView(model);
}

当然,您需要一个名为GetGameListing的视图。视图文件夹中的cshtml。。

 类似资料:
  • 我有一个问题,我无法将任何参数传递到一个模态窗口(使用引导程序3),我尝试使用本链接中所述的解决方案,但我无法使其工作: 动态加载信息到Twitter引导模式 (解决方案kexxcream用户)。 我已经附上了代码(上面左边的代码帖子相同); JS代码: PHP代码(backend.PHP):

  • 我要做的是通过使用jquery调用弹出一个引导js模型 但它在任何情况下都不起作用,在这个链接中提到了几个案例,但没有一个在我的案例中起作用。 我还通过了以下链接 引导模型不工作 未显示引导模式窗口 调用链接的引导模型 引导模式-弹出窗口未显示 https://getbootstrap.com/docs/4.0/components/modal/ 但是我不能得到任何帮助,我可以通过多一个按钮并通过

  • 我正在尝试使用JavaFX 2创建一个登录窗口并停止执行,直到用户尚未登录。我想要类似下面的东西: 负责创建一个新阶段,并将其父级设置为主窗口。它将舞台设置为模态,我尝试了和,但是一旦显示登录窗口,也会调用行。 有没有可能在登录阶段的< code>close()被调用之前停止代码运行,或者类似的事情?有没有教程展示如何做到这一点?

  • 问题内容: 我正在制作需要使用selenium的PyQt4应用程序。在开发过程中一切正常,但是当我通过 pyinstaller* 导出到 单个文件 EXE 且 没有控制台时 ,它会产生以下回溯错误: * __ 当我将其导出时(在pyinstaller规范文件中),不会发生这种情况,该错误仅在 没有console的情况下 产生。 产生的错误在以下行中: 我的规格: Python: 3.4 体系结构:

  • 问题内容: 我正在Mac OS X上使用python和matplotlib。当我在许多不同的窗口上工作时,必须运行生成绘图的脚本,绘图窗口始终在活动窗口后面打开,并且非常沮丧,不得不在两个窗口之间切换以查看图像。为什么要确定绘图窗口的位置和/或将其弹出为前景窗口? 谢谢 问题答案: 完全相同的问题困扰着我。我终于找到了解决方案(在pylab模式下,带有qt4agg后端): 要么 问候,马库斯

  • 我需要能够使用或类似函数打开Twitter引导模式窗口。只需要代码就可以进入。我正在尝试创建一个可单击的来打开模式。 代码摘录: 分区代码: 模态分区代码: JavaScript: