无法找到我做错的地方。帮助将不胜感激。谢谢!
在我的视图模型中,我有属性 ListValues,其中包含下拉列表的数据。当在下拉列表中进行选择时,我正在尝试在 viewmodel 上设置属性(SelectedItem)。但是当在下拉列表中选择某些内容时,它不会更新值。在此示例中,我使用 javascript 函数来测试该值是否已设置,但它始终显示变量未定义。
我的视图模型:
public class ViewModel
{
private readonly List<SelectListItem> items;
public ViewModel()
{
items = new List<SelectListItem>();
items.Add(new SelectListItem() { Text = "Texas", Value = "1", Selected = true });
items.Add(new SelectListItem() { Text = "Illinios", Value = "2", Selected = false });
items.Add(new SelectListItem() { Text = "New York", Value = "3", Selected = false });
items.Add(new SelectListItem() { Text = "Kansas", Value = "4", Selected = false });
ListValues = items;
}
public string SelectedItem { get; set; }
public IEnumerable<SelectListItem> ListValues { get; set; }
}
行动方法:
public class EmployersController : Controller
{
//
// GET: /Employers/
public ActionResult Index()
{
ViewModel vm = new ViewModel();
return View(vm);
}
}
看法:
@using System.Collections
@model DemoMVCApplication.Models.ViewModel
<script src="~/Scripts/Custom/default.js"></script>
@{
ViewBag.Title = "Index";
}
@Html.DropDownListFor(model => model.SelectedItem, Model.ListValues)
<button id="button123" onclick="process(@Model.SelectedItem);">Call Script</button>
<h2>Index</h2>
javascript测试是否已设置值
function process(x) {
var result = x;
}
x 总是说未定义