MVC:无法使 fancybox 工作
MVC: Can't make fancybox work
我正在尝试更新现有应用程序并希望使用 fancybox 显示模态。在其他功能上,我能够显示花式框,但由于某种原因无法在特定视图上显示。
这是我的主视图声明:
@Html.ActionLink(Strings.Link_ViewFullList, "OrganisationFullList", new { id = 1 }, new { @class = "fancybox fancybox.ajax" })
然后这是我的 "organisationFullList" cshtml 文件。
@model ProjectOrganisationModel
@{
ViewBag.Title = Strings.PageTitles_Organisations;
}
<div class="row">
<div class="col-lg-10">
@if (Model.Organisation != null && Model.Organisation.Any())
{
<ul class="list-unstyled">
@foreach (var organisation in Model.Organisation)
{
<li>
@Html.RadioButton("organisationList", organisation.Name)
@Html.Label(organisation.Name, new { style = "font-weight: normal" })
</li>
}
</ul>
}
</div>
</div>
这是我的控制器代码:
public ActionResult OrganisationFullList(int id)
{
var organisationList = new ProjectOrganisationModel();
organisationList.Organisation = GetOrganisations();
return View(organisationList);
}
当我单击 link 时,它会显示一个新屏幕而不是模式屏幕。它重定向到这个 URl:
https://localhost:44300/project/1/organisationfulllist
@Html.ActionLink 使您重定向到另一个页面。
而不是使用@Html.ActionLink 使用@Ajax.ActionLink
@Ajax.ActionLink(
"View Full List Ajax",
"OrganisationFullList", //Action
"YourController", //Controller
new AjaxOptions
{
HttpMethod = "POST",
OnSuccess = "showFancyBox" //call back
}
)
回调函数:
function showFancyBox(data) {
$.fancybox.open({ "content": data });
}
不要忘记包含 jquery.unobtrusive-ajax.min.js 你需要它才能使用 @Ajax 帮手
<script type="text/javascript" src="/Scripts/jquery.unobtrusive-ajax.min.js"></script>
我正在尝试更新现有应用程序并希望使用 fancybox 显示模态。在其他功能上,我能够显示花式框,但由于某种原因无法在特定视图上显示。
这是我的主视图声明:
@Html.ActionLink(Strings.Link_ViewFullList, "OrganisationFullList", new { id = 1 }, new { @class = "fancybox fancybox.ajax" })
然后这是我的 "organisationFullList" cshtml 文件。
@model ProjectOrganisationModel
@{
ViewBag.Title = Strings.PageTitles_Organisations;
}
<div class="row">
<div class="col-lg-10">
@if (Model.Organisation != null && Model.Organisation.Any())
{
<ul class="list-unstyled">
@foreach (var organisation in Model.Organisation)
{
<li>
@Html.RadioButton("organisationList", organisation.Name)
@Html.Label(organisation.Name, new { style = "font-weight: normal" })
</li>
}
</ul>
}
</div>
</div>
这是我的控制器代码:
public ActionResult OrganisationFullList(int id)
{
var organisationList = new ProjectOrganisationModel();
organisationList.Organisation = GetOrganisations();
return View(organisationList);
}
当我单击 link 时,它会显示一个新屏幕而不是模式屏幕。它重定向到这个 URl: https://localhost:44300/project/1/organisationfulllist
@Html.ActionLink 使您重定向到另一个页面。
而不是使用@Html.ActionLink 使用@Ajax.ActionLink
@Ajax.ActionLink(
"View Full List Ajax",
"OrganisationFullList", //Action
"YourController", //Controller
new AjaxOptions
{
HttpMethod = "POST",
OnSuccess = "showFancyBox" //call back
}
)
回调函数:
function showFancyBox(data) {
$.fancybox.open({ "content": data });
}
不要忘记包含 jquery.unobtrusive-ajax.min.js 你需要它才能使用 @Ajax 帮手
<script type="text/javascript" src="/Scripts/jquery.unobtrusive-ajax.min.js"></script>