【发布时间】:2018-07-25 19:01:33
【问题描述】:
希望开发者多多支持,我对java script的使用经验很少。
经过调查和多次尝试,我能够从 LINQ 查询中加载包含数据的下拉列表,并将文本框的值作为参数传递。
我不能做的是从查询 Linq 获取两个字段(Id 和 value)将它们发送到下拉列表并显示值,但是在能够使用该字段的 Id 之后能够在创建中使用它,目前我只能显示值,但我也需要 Id。
查看
@Html.TextBox("CP", "", new { @id = "txtCP", @onchange = "FillOption();", @placeholder = "Codigo Postal" })
@Html.DropDownList("Asentamientos", ViewBag.Drop as List<SelectListItem>)
脚本
<script>
function FillOption() {
var CP = $('#txtCP').val();
$.ajax({
type: "Post",
url: "/Home/GetAsentamiento",
data: { CP: CP },
dataType: 'json',
success: function (data) {
$("#Asentamientos").empty();
for (var i = 0; i < data.length; i++) {
$('#Asentamientos').append('<option value=' + data[i].Value + '>' + data[i].Text + '</option > ');
}
}
});
}
</script>
控制器
public ActionResult Index()
{
List<SelectListItem> drop = new List<SelectListItem>
{
};
ViewBag.Drop = drop;
return View();
}
[HttpPost]
public ActionResult GetAsentamiento(string CP)
{
var drop2 = (from p in db.CodigosPostales where p.CodigoPostal == CP select p.Asentamiento).ToList();
SelectList lista = new SelectList(drop2);
ViewBag.lista = lista;
return Json(ViewBag.lista);
}
我想到了类似的东西
[HttpPost]
public ActionResult GetAsentamiento(string CP)
{
var drop2 = (from p in db.CodigosPostales where p.CodigoPostal == CP select new { p.IdCodigoPostal,p.Asentamiento}).ToList();
SelectList lista = new SelectList(drop2);
ViewBag.lista = lista;
return Json(ViewBag.lista);
}
但我不知道 id 和 value 将如何处理
谢谢
【问题讨论】:
标签: javascript c# asp.net-mvc drop-down-menu