【问题标题】:ASP.NET MVC Render Partial View via Button click not render Bootstrap-selectASP.NET MVC 通过按钮单击呈现部分视图不呈现引导选择
【发布时间】:2016-02-04 16:23:59
【问题描述】:

我在 .Net MVC 和 Jquery/CSS 以及这些方面相对较新。

我正在开发一个功能,当我单击一个按钮时,它会显示一个部分视图。我不希望它在页面加载时呈现,当我单击按钮时。我已经进行了该操作,我的问题与库 Bootstrap-Select 以及应用于部分视图中显示的组件的样式有关。

我正在使用下一个 sn-p 执行此操作:

$("#btn-create-new").on("click", function () {
        $('#myTabs a[href="#new-product-form-create-new"]').tab('show');
        //var tab_content_height = $('.modal-new-product-form').height() - $('#myTabs').height();
        //$('.tab-content').height(tab_content_height);

        $("#new-product-form-create-new").load('@Url.Action("PreCreationForm", "Home", new { createAction = "new" })');
});

当我这样做时,我认为 Bootstrap-select 的 JS 没有执行。但是当我在视图中渲染 PartialView 时:

@Html.Partial("~/Views/Home/PreCreationForm.cshtml")

Select 组件的样式已正确应用。我需要第一种方法,因为我需要在控制器中执行一些操作。

可能是一个新手问题,但我在这个领域没有太多经验。

感谢大家的时间, 安德烈

【问题讨论】:

标签: jquery asp.net-mvc twitter-bootstrap-3 asp.net-mvc-partialview bootstrap-select


【解决方案1】:

我不确定我是否理解正确,但问题是因为当您加载部分视图时,引导选择是在 jquery 文档准备好之后定义的。所以 bootstrap-select 不适用于在文档准备好之后创建的新元素。渲染部分视图后,您必须调用 bootstrap-select 方法来初始化“插件”

var variableHere = "new";
var urlAjax = '@Url.Action("PreCreationForm", "Home")';
$.ajax({
    url: urlAjax,
    type: "GET",
    cache: false,
    data: {createAction : variableHere},
    success: function(result){
         $("#new-product-form-create-new").html(result);
         //whatever the init function is called you change it
         $("#yourElement").bootstrap-select();
    }
});

我想这就是你的意思。

【讨论】:

  • 它至少部分解决了。我不得不改变 $("#yourElement").bootstrap-select();到 $('.selectpicker').selectpicker();
  • 以防其他人看到这个利基问题,并且您在 .net 模型中有您的下拉选项。你只需要调用 $('.selectpicker').selectpicker();加载下拉菜单。
猜你喜欢
  • 2015-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-17
相关资源
最近更新 更多