视图中的单独代码mvc

时间:2017-02-16 07:31:56

标签: javascript jquery partial-views

我有一个视图索引,这是我网站的第一页。 我在页面上有3个级联下拉列表,下拉列表根据之前的下拉列表填充。我使用jqueryjson来解决这个问题,它运行正常,所有代码都在Index.cshtml上。

现在,我需要在网站的几乎所有页面中显示这些下拉列表。 我创建了一个局部视图,我复制了下拉列表,如下所示:

                           

<div class="col-sm-4">
    <div style="padding-top:15px;">
        <form class="form-control-static">
            <div class="form-group">
                <div class="row">
                    <div class="col-sm-10">
                        @if (ViewData.ContainsKey("makes"))
                        {
                            @Html.DropDownList("makes", ViewData["makes"] as List<SelectListItem>, "--Select car--", new { @class = "dropdown-toggle form-control" })
                        }
                    </div>
                </div>
                <div class="row">
                    <div class="col-sm-10">
                        <p></p>
                        @Html.DropDownList("models", new SelectList(string.Empty, "Value", "Text"), "--Select model--", new { @class = "dropdown-toggle form-control" })
                    </div>
                </div>
                <div class="row">
                    <p></p>
                    <div class="col-sm-10">
                        @Html.DropDownList("engines", new SelectList(string.Empty, "Value", "Text"), "--Select engine--", new { @class = "dropdown-toggle form-control" })
                    </div>
                </div>
            </div>

        </form>

    </div>
</div>

<div class="col-sm-4" style="height: 10em;display: flex;align-items: center ; padding-top:25px;">
    <input type="submit" id="btnSearch" class="btn btn-default active" value="Search" disabled="disabled" style="width:150px;" />
</div>

但填写下拉列表的逻辑仍然在Index.cshtml。虽然我试图在新创建的局部视图中复制javascript代码,但是下拉列表没有正确填充数据。  它只在我在第一页时才能正常工作。能否请你给我一些提示,解决这样的问题最好的方法。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以将JS代码放在外部文件中,并使用脚本标记在模板的head标记中调用它: