我当时希望使用Twitter Bootstrap Modal windows作为局部视图 . 但是,我并不认为它的设计是以这种方式使用的;它似乎意味着以相当静态的方式使用 . 尽管如此,我认为能够将其用作局部视图会很酷 .
例如,假设我有一个游戏列表 . 点击给定游戏的链接后,我想从服务器请求数据,然后在“当前页面顶部”的模态窗口中显示有关该游戏的信息 .
我做了一些研究,发现this post类似但不完全相同 .
有没有人尝试过成功或失败?任何人都有jsFiddle或他们愿意分享的某些来源?
谢谢你的帮助 .
5 回答
是的,我们已经这样做了 .
在你的Index.cshtml中你会有类似的东西..
然后在JS中为同一页面(内联或单独的文件中,你会有这样的东西..
使用控制器上的方法看起来像这样..
您当然需要在Views文件夹中使用名为GetGameListing.cshtml的视图 .
我用mustache.js和模板(你可以使用任何JavaScript模板库)来做这件事 .
在我看来,我有这样的事情:
...让我将模板保存在名为
Modal.ascx
的局部视图中:我在视图中为每个模态创建占位符:
...并使用jQuery进行ajax调用:
然后,你只需要一个触发器:
我通过使用一个很好的例子找到了here . 我已经用Twitter Bootstrap Modal窗口替换了该示例中使用的jquery对话框 .
完整且清晰的示例项目http://www.codeproject.com/Articles/786085/ASP-NET-MVC-List-Editor-with-Bootstrap-Modals它使用bootstrap显示创建,编辑和删除实体操作模式,还包括处理从这些实体操作返回的结果的代码(c#,JSON,javascript)
我使用AJAX来做到这一点 . 你有一个典型的twitter模态模板html:
然后你有你的控制器方法,我使用JSON并有一个自定义类,将视图转换为字符串 . 我这样做,所以我可以通过一个ajax调用在屏幕上执行多个ajax更新 . 请参考此处:Example但如果您只是执行一次调用,则可以在返回时使用PartialViewResult / ActionResult . 我将使用JSON显示它..
和控制器中的JSON方法:
然后,在视图中使用你的模态:你可以在你的局部打包AJAX并调用@ {Html.RenderPartial ...或者你可以有一个带div的占位符:
然后你的ajax:
然后按钮到您的模态: