我已阅读this post并且它会触发模态但不完全 .
我只是看到灰色的窗户,但我不看模态 .
我的HTML:
<div id='gameModal' class='modal hide fade in' data-url='@Url.Action("TermsAndConditions","Base")'>
<div id='gameContainer'/>
<button id='showGame'>Show Game Listing</button></div>
在我的js中:
$('#showGame').click(function () {
var url = $('#gameModal').data('url');
$.get(url, function (data) {
$('#gameContainer').html(data);
$('#gameModal').modal('show');
});
});
我还创建了一个带有partialView的控制器:
[HttpGet]
public ActionResult TermsAndConditions()
{
return PartialView();
}
我发现我的js文件中的行被跳过:$ .get(url,function(data)可能是因为我的路由配置中有其他参数 .
而不是“正常”路由,如“/ Base / TermsAndConditions”,我有“/ en-US / Base / TermsAndConditions”任何提示如何设置url而无需额外的参数而不分割url和mambo-jumbo的东西?
这是我的路由配置:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{language}/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, language = "en-US" }
);
}
}
有没有更现代的方法来使用partialViews打开模态?更新:我已经设法查看我的模态,但只有在我的示例布局页面中将部分视图HTML代码放在我的按钮旁边,如下所示:
<button class="btn btn-primary" data-toggle="modal" data-url='@Url.Action("TaC","Home")' data-target=".bs-example-modal-lg">Large modal</button>
<div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-body">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel">Modal Heading</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
<p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
</div>
</div>
</div>
</div>
</div>
如果我输入data-url=@Url.Action("Index“,”Home“),它就不会进入控制器 .