我尝试使用multiselect显示下拉选择,允许使用该库jquery for mulitselect进行多次选择。我没有使用母版页就成功实现了。 但是当我使用母版页代码时给我错误。(“不支持方法”)。 我正在粘贴不使用母版页的简单代码,请帮助我如何使用MVC剃刀中的母版页使用该jquery库。
以下是观点。
@{
Layout = null;
}
@using LST.EMOTS.DynamicForms.Web.Models
<!DOCTYPE html>
<html>
<head>
<title>Index1</title>
<script src="@Url.Content("~/Scripts/jquery-1.4.4.js")" type="text/javascript"></script>
<script src="../../Scripts/jquery.ui.widget.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.multiSelect.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.bgiframe.min.js" type="text/javascript"></script>
<link href="../../Content/jquery.multiSelect.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(document).ready(function () {
$("#control_3").multiSelect();
});
function change1() {
alert('this is called first');
$('#hfHiddenfield').val($("#control_3").selectedValuesString());
alert($('#hfHiddenfield').val());
}
</script>
</head>
<body>
<div>
@using (Html.BeginForm())
{
<select id="control_3" name="control_3[]" multiple="multiple" class="multiSelect" >
<option value=""></option>
@foreach ( Item itm in ViewBag.objectData )
{
<option value="@itm.Id" >@itm.Name</option>
}
</select>
<input type="hidden" value="" name="crtrlValues" id ="hfHiddenfield" />
<input type="submit" value="GO" onclick="change1()" />
}
</div>
</body>
</html>
这是控制器。
public class HomeController : Controller
{
[HttpGet]
public ActionResult Index1()
{
var model = new MyModel
{
SelectedItemIds = new[] { 2, 3 }
};
MyModel modelitesm = new MyModel();
ViewBag.objectData = modelitesm.AvailableItems;
return View();
}
[HttpPost]
public ActionResult Index1(string crtrlValues)
{
var model = new MyModel
{
SelectedItemIds = new[] { 2, 3 }
};
MyModel modelitesm = new MyModel();
ViewBag.objectData = modelitesm.AvailableItems;
return View();
}
}
这是模型。
public class MyModel
{
public IEnumerable<int> SelectedItemIds { get; set; }
public IEnumerable<Item> AvailableItems
{
get
{
return new[]
{
new Item { Id = 1, Name = "Item 1" , isSeleced=false },
new Item { Id = 2, Name = "Item 2" ,isSeleced=true},
new Item { Id = 3, Name = "Item 3",isSeleced=false }
};
}
}
}
public class Item
{
public int Id { get; set; }
public string Name { get; set; }
public bool isSeleced { get; set; }
}
这是完美的解决方案,但这适用于母版页。 请告诉我如何使用母版页来使用它。
答案 0 :(得分:0)
我怀疑问题在于没有使用@Url.Content(..)
来获取其余js文件的路径。您正在将它用于jQuery js,为什么不用于其他js文件?
尝试将@Url.Content(..)
用于所有js文件,希望它能解决您的问题。