我试图从listitem中获取一个整数。 我首先收集了要放入下拉列表的项目,然后我尝试从项目
中取出整数以前工作过(在数据库中有一个很好的字符串),但通常情况下,我试图从listitem中创建一个整数时出错
我想解决这个问题,因此它可以100%的时间工作,所以当我提出这个时,它看起来并不像一个不完整的项目。
<div class="form-group">
@Html.LabelFor(m => m.InteresseLijst1, new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@Html.DropDownListFor(m => m.Interesse1, Model.InteresseLijst1)
</div>
</div>
这些是我的viewmodel
中使用过的属性[Display(Name = "Interesse 1")]
public SelectList InteresseLijst1 { get; set; }
[Display(Name = "Interesse 2")]
public SelectList InteresseLijst2 { get; set; }
public int Interesse1 { get; set; }
public int Interesse2 { get; set; }
public string Interesses { get; set; }
这是我的注册动作,用于注册我选择列表的位置
public ActionResult Register()
{
RegisterViewModel rvm = new RegisterViewModel();
List<Categorie> categorielijst = CategoryRepository.GetCategories();
rvm.InteresseLijst1 = new SelectList(categorielijst, "CategoryId", "CategoryName");
rvm.InteresseLijst2 = new SelectList(categorielijst, "CategoryId", "CategoryName");
return View(rvm);
}
这是我的帖子,我使用从选择列表中收集的整数。 我转换为json将其保存在我的数据库中,以便在网站的其他部分进行进一步比较。
#region verschillend
if(model.Interesse1 != model.Interesse2)
{
int[] interesses = new int[2] { model.Interesse1, model.Interesse2 };
string sInteresses = JsonConvert.SerializeObject(interesses);
model.Interesses = sInteresses;
//other code
return RedirectToAction("Index", "Home");
}
AddErrors(result);
}
#endregion
答案 0 :(得分:0)
通过一些解决方法,我设法摆脱了错误。我通过向列表中的项添加属性来更改项目的显示方式。然后我使用Request.Form [&#34; propertyname&#34;]收集我的控制器中属性的值并且它有效