DropDownListFor 在 post 返回空列表
DropDownListFor returning a null list on post back
当我 post 在我的 DropDownListFor 中返回我的列表时,已设置所选项目但原始列表设置为空。如果这是设计使然,我可以重新填充列表,但我想知道我是否做错了什么。我与其他 html 帮手没有这个问题。
型号
using System.Collections.Generic;
using System.Web.Mvc;
namespace Test.Models
{
public class Test_Model
{
public List<SelectListItem> lstThing { get; set; }
public string strThing { get; set; }
}
}
查看
@using Test.Models
@model Test_Model
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
@Html.DropDownListFor(model => model.strThing, Model.lstThing)
<input type="submit" value="submit" />
}
控制器
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Test.Models;
namespace Test.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
var model = new Test_Model();
model.lstThing = new List<SelectListItem>();
model.lstThing.Add(new SelectListItem { Text = "aaa", Value = "aaa" });
model.lstThing.Add(new SelectListItem { Text = "bbb", Value = "bbb" });
return View(model);
}
[HttpPost]
public ActionResult Index(Test_Model model)
{
return View(model);
}
}
}
您正在 post 返回一个新的模型实例。
[HttpPost]
public ActionResult Index(Test_Model model)
{
model.lstThing = new List<SelectListItem>();
model.lstThing.Add(new SelectListItem { Text = "aaa", Value = "aaa" });
model.lstThing.Add(new SelectListItem { Text = "bbb", Value = "bbb" });
return View(model);
}
您需要添加回您的 SelectListItem 项目
当我 post 在我的 DropDownListFor 中返回我的列表时,已设置所选项目但原始列表设置为空。如果这是设计使然,我可以重新填充列表,但我想知道我是否做错了什么。我与其他 html 帮手没有这个问题。
型号
using System.Collections.Generic;
using System.Web.Mvc;
namespace Test.Models
{
public class Test_Model
{
public List<SelectListItem> lstThing { get; set; }
public string strThing { get; set; }
}
}
查看
@using Test.Models
@model Test_Model
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
@Html.DropDownListFor(model => model.strThing, Model.lstThing)
<input type="submit" value="submit" />
}
控制器
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Test.Models;
namespace Test.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
var model = new Test_Model();
model.lstThing = new List<SelectListItem>();
model.lstThing.Add(new SelectListItem { Text = "aaa", Value = "aaa" });
model.lstThing.Add(new SelectListItem { Text = "bbb", Value = "bbb" });
return View(model);
}
[HttpPost]
public ActionResult Index(Test_Model model)
{
return View(model);
}
}
}
您正在 post 返回一个新的模型实例。
[HttpPost]
public ActionResult Index(Test_Model model)
{
model.lstThing = new List<SelectListItem>();
model.lstThing.Add(new SelectListItem { Text = "aaa", Value = "aaa" });
model.lstThing.Add(new SelectListItem { Text = "bbb", Value = "bbb" });
return View(model);
}
您需要添加回您的 SelectListItem 项目