【问题标题】:styles and scripts not working in partial view样式和脚本在局部视图中不起作用
【发布时间】:2014-09-30 18:16:57
【问题描述】:

我有一个部分视图 (asp.net-mvc),其中包含一些 dropdownlist 的类 ''chosen-select'。但不知何故,该课程没有得到应用。 dropdownlist 显示/样式为“正常”。

@using (var f = Html.Bootstrap().Begin(new Form("Home", "Index").FormMethod(FormMethod.Post).Type(FormType.Horizontal).InputWidthMd(12)))
{
    @f.FormGroup().DropDownListFor(model => model.Currency, Model.Currencies).Class("chosen-select")

    @f.FormGroup().ListBoxFor(model => model.CountryIds, Model.Countries).ShowValidationMessage(false).HtmlAttributes(new { @class = "chosen-select" })

    @f.FormGroup().ListBoxFor(model => model.USStateIds, Model.USStates).Id("usStates").ShowValidationMessage(false).HtmlAttributes(new { @class = "chosen-select" })

    @Html.Bootstrap().SubmitButton().Text(Resources.Form.Save).Class("btn btn-primary").HtmlAttributes(new { @style = "float:right;" })
}

partial view 显示在对话框中。

$(document).ready(function () {
        $('.chosen-select').chosen();
});

不确定它是否相关,但 jquery 代码和样式放置在呈现此 partial view 的视图中。起初它与partial view 在同一页面上,但jquery 代码和css 样式似乎没有做任何事情。这就是我重新安置它们的原因(也不确定这是否相关)。

顺便说一句,我正在通过AJAX 调用呈现这个partial view

【问题讨论】:

  • 在局部视图中的元素添加到页面之后调用.chosen()

标签: c# jquery css asp.net-mvc asp.net-mvc-partialview


【解决方案1】:

也许问题是您在准备好文档时执行 jQuery,然后渲染部分视图视图 AJAX 后缀,因此永远不会应用 jQuery。尝试这样做来初始化选择:

$( document ).ajaxComplete(function() {
    $('.chosen-select').chosen();
});

【讨论】:

  • 太棒了,我怎么没想到!?
  • 出色的工作!这适用于我的 kendo-ui tabstrip(带引导程序)。在 ajaxComplete 回调中调用 activateTab 之前,我的 UI 元素很奇怪。
猜你喜欢
  • 2020-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-10
相关资源
最近更新 更多