我有一个视图索引,这是我网站的第一页。
我在页面上有3个级联下拉列表,下拉列表根据之前的下拉列表填充。我使用jquery
和json
来解决这个问题,它运行正常,所有代码都在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代码,但是下拉列表没有正确填充数据。
它只在我在第一页时才能正常工作。能否请你给我一些提示,解决这样的问题最好的方法。谢谢!
答案 0 :(得分:1)
您可以将JS代码放在外部文件中,并使用脚本标记在模板的head标记中调用它: