样式和脚本在局部视图中不起作用

时间:2014-09-30 18:16:58

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

我有一个部分视图(asp.net-mvc),其中包含一些dropdownlist个类,其中“select-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样式似乎没有做任何事情。这就是我重新定位它们的原因(不确定这是否相关)。

我正在通过partial view电话呈现此AJAX

1 个答案:

答案 0 :(得分:5)

也许问题是你在文档准备好后执行你的jQuery然后渲染部分视图视图AJAX后,所以jQuery永远不会被应用。尝试这样做以初始化所选:

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