Asp.net mvc IsValid){trackdayrep.Add(trackday);trackdayrep.Save();}@Muhammad Awais,在POST操作中,只需将视图模型作为操作参数重用即可。SelectedExperienceId和SelectedS
Asp.net mvc IsValid){trackdayrep.Add(trackday);trackdayrep.Save();}@Muhammad Awais,在POST操作中,只需将视图模型作为操作参数重用即可。SelectedExperienceId和SelectedS,asp.net-mvc,model-view-controller,drop-down-menu,viewdata,Asp.net Mvc,Model View Controller,Drop Down Menu,Viewdata,IsValid){trackdayrep.Add(trackday);trackdayrep.Save();}@Muhammad Awais,在POST操作中,只需将视图模型作为操作参数重用即可。SelectedExperienceId和SelectedSizeId属性将自动填充用户选择。在更新处理它们之前,您可以检查是否(ModelState.IsValid),以确保用户从下拉列表中选择了一些值。它还会将这些值添加到与父表关联的表中,例如事件(表)与产品(表)有关系吗,创建事件之前,数据还会将
IsValid){trackdayrep.Add(trackday);trackdayrep.Save();}@Muhammad Awais,在POST操作中,只需将视图模型作为操作参数重用即可。
SelectedExperienceId
和SelectedSizeId
属性将自动填充用户选择。在更新处理它们之前,您可以检查是否(ModelState.IsValid)
,以确保用户从下拉列表中选择了一些值。它还会将这些值添加到与父表关联的表中,例如事件(表)与产品(表)有关系吗,创建事件之前,数据还会将值插入到与该事件相关的产品(表)中。如果我想运行循环,例如我想在0到200的下拉列表中显示值,如果我想运行循环,例如我想在0到200的下拉列表中显示值,该怎么办
`//View <tr><td>Experience level</td><td><div class="editor-field">
<%: Html.DropDownListFor(model => model.ExperienceLevelID, (SelectList)ViewData["Experience"], "--select--")%>
<%: Html.ValidationMessageFor(model => model.ExperienceLevelID) %>
</div></td></tr>`<tr><td>Size of Company</td><td><div class="editor-field">
<%: Html.DropDownList("Value", (SelectList)ViewData["size"], "--select--")%>
public ActionResult Create()//Controller
{
ViewBag.mode = "create";IExperienceLevelRepository expLevelResp = new ExperienceLevelRepository();
IQueryable<ExperienceLevel> expLevel = expLevelResp.GetAllExperienceLevels().OrderBy(ExperienceLevel => ExperienceLevel.Name);
ViewData["Experience"] = new SelectList(expLevel, "ID", "Name");
IEnumerable<SelectListItem> companySizes = new List<SelectListItem>
{
new SelectListItem
{
Text = "Large Company",
Value = "large"
}
};
ViewData["size"] = new SelectList(companySizes, "Value", "Text");
return View();
}
public class MyViewModel
{
[Required]
public string SelectedExperienceId { get; set; }
public IEnumerable<SelectListItem> Experiences { get; set; }
[Required]
public string SelectedSizeId { get; set; }
public IEnumerable<SelectListItem> Sizes { get; set; }
}
public ActionResult Index()
{
var model = new MyViewModel
{
Experiences = new[]
{
new SelectListItem { Value = "exp1", Text = "Experience 1" },
new SelectListItem { Value = "exp2", Text = "Experience 2" },
new SelectListItem { Value = "exp3", Text = "Experience 3" },
},
Sizes = new[]
{
new SelectListItem { Value = "s1", Text = "Size 1" },
new SelectListItem { Value = "s2", Text = "Size 2" },
new SelectListItem { Value = "s3", Text = "Size 3" },
}
};
return View(model);
}
<%@ Page
Language="C#"
MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<AppName.Models.MyViewModel>"
%>
...
<%= Html.DropDownListFor(
x => x.SelectedExperienceId,
new SelectList(Model.Experiences, "Value, "Text"),
"-- Experience --"
) %>
<%= Html.ValidationMessageFor(x => x.SelectedExperienceId) %>
...
<%= Html.DropDownListFor(
x => x.SelectedSizeId,
new SelectList(Model.Sizes, "Value, "Text"),
"-- Size --"
) %>
<%= Html.ValidationMessageFor(x => x.SelectedSizeId) %>
public List<SelectListItem> GetSomeSelectList()
{
var items = SomeCollection
.OrderByDescending(s => s.SomeProperty)
.Select(s => new SelectListItem {
Value = s.SomeProperty,
Text = s.SomeOtherProperty })
.ToList();
items.Insert(0, new SelectListItem { Value = "0", Text = "Some Default" });
return items;
}
<%: Html.DropDownListFor(m => m.SomeProperty, Model.GetSomeSelectList()) %>