DropDownList旁边的字符串

时间:2016-05-25 18:33:03

标签: asp.net-mvc asp.net-mvc-5

我在MVC 5中有一个新闻站点,我有一个名为Source的字段,用户不希望在dropdownList中拥有所有媒体的名称(因为它会有很多项目,所以有时他们想要保存媒体那不在dropdownList里面,他们想要保存它,我需要在dropdownList旁边有一个文本框,我需要一个机制来编辑文本框,如@Html.TextBox("SourceInput")旁边的DropdownList里面的Edit方法,当我想要获取字符串虽然它来了,它已经在调试中看到,但在行中包含(ModelState.IsValid)行返回false值,所以我无法保存更改

public ActionResult Edit(string SourceInput, [Bind(Include = "id,Source,DateM,Issue,Subject")] News_ news_)
{
    if (ModelState.IsValid)
    {
       if (SourceInput != null) news_.Source = SourceInput;  // SourceInput gets value  but  ModelState.IsValid prevents code  to come here
       db.Entry(news_).State = EntityState.Modified;
       . . . . . . 
       db.SaveChanges();
       return RedirectToAction("Index");
    }
}

如果有人能帮助我,我感激不尽

坦克很多

托马斯

1 个答案:

答案 0 :(得分:0)

我的一位朋友发送了这封信,并在他的指导下解决了我的问题: 嗨托马斯,

您可以删除DropDownList和Source字段的验证。然后,修改您的代码如下:

public ActionResult Edit(string SourceInput, string DropDownListSeletedValue [Bind(Include = "id,Source,DateM,Issue,Subject")] News_ news_)
{
if (ModelState.IsValid)
{
   if (SourceInput != null) news_.Source = SourceInput;  // SourceInput gets value  but  ModelState.IsValid prevents code  to come here

   else if (DropDownListSeletedValue != null)
   ... //using dropdownslit selected value
   else
   ... //set default value

   db.Entry(news_).State = EntityState.Modified;
   . . . . . . 
   db.SaveChanges();
   return RedirectToAction("Index");
}
}