从列表转换为整数

时间:2015-12-31 12:21:10

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

我试图从listitem中获取一个整数。 我首先收集了要放入下拉列表的项目,然后我尝试从项目

中取出整数

以前工作过(在数据库中有一个很好的字符串),但通常情况下,我试图从listitem中创建一个整数时出错 enter image description here

我想解决这个问题,因此它可以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

1 个答案:

答案 0 :(得分:0)

通过一些解决方法,我设法摆脱了错误。我通过向列表中的项添加属性来更改项目的显示方式。然后我使用Request.Form [&#34; propertyname&#34;]收集我的控制器中属性的值并且它有效