【发布时间】:2009-10-23 02:46:45
【问题描述】:
我的编辑屏幕上有以下内容:
<label for="campaign.CandidateID">Candidate:</label>
<%= Html.DropDownList("Campaign.CandidateID", Model.Candidates, "Choose...")%>
<%= Html.ValidationMessage("CandidateID", "*") %>
在我的控制器中:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int id, FormCollection formValues)
{
Campaign campaign = repos.GetCampaign(id);
try
{
UpdateModel(campaign);
repos.Save();
return RedirectToAction("Index", "Admin");
}
catch
{
return View(new CampaignDTO(campaign));
}
当我编辑记录并更改文本字段时,一切正常,但是当我更改连接到下拉列表的项目时,更改不会在活动对象中更新。我检查了this.ValueProvider["Campaign.CandidateID"],数据就在里面!
顺便说一句,在显示编辑屏幕期间,它正在选择列表中选择正确的候选人。
问题可能是因为 ValueProvider 提供了一个字符串,而我的类中的 CandidateID 是一个 int 吗?
我被难住了。
【问题讨论】:
标签: asp.net-mvc model-view-controller drop-down-menu updatemodel