2017-07-28 2 views
0

ich verwende mvc 5, für die i Problem für Dropdownlist in Einfügung am ausgewählten ListeSystem.Web.Mvc.SelectListItem kann nicht als Parameterwert verwendet werden

Meine Ansicht:

<div class="form-group"> 
    @Html.LabelFor(m => m.NatureofLeave, new { @class = "control-label col-sm-6" }) 
    <div class="col-sm-6 pushleft"> 
     @Html.DropDownListFor(m => m.NatureofLeave, ViewBag.EmployeeLeave as IEnumerable<SelectListItem>, "-Select-") 
     @Html.ValidationMessageFor(m => m.NatureofLeave, "", new { @style = "color:red;" }) 
    </div> 
</div> 

Mein Modell:

[Display(Name = "Type of Leave")] 
public List<SelectListItem> NatureofLeave { get; set; } 

Mein Controller:

Ich benutze Dapper ORM, also gebe ich Ihnen das Repository.

Mein Repository:

using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyString"].ToString())) 
{ 
    var param = new DynamicParameters(); 
    param.Add("@UserId", objEmployeeLeave.UserId); 
    param.Add("@UserName", objEmployeeLeave.UserName); 
    param.Add("@StartDate", objEmployeeLeave.StartDate); 
    param.Add("@EndDate", objEmployeeLeave.EndDate); 
    param.Add("@LeavesAvailed", objEmployeeLeave.LeavesAvailed); 
    param.Add("@NatureofLeave", objEmployeeLeave.NatureofLeave); 
    param.Add("@Reason", objEmployeeLeave.Reason); 

    param.Add("@UserIdOut", dbType: DbType.Int32, direction: ParameterDirection.Output); 

    con.Open(); 
    con.Execute("sprocInsertLeaves", param, null, 0, CommandType.StoredProcedure); 
    int UserIdOut = param.Get<int>("UserIdOut"); 
    con.Close(); 
    return UserIdOut; 
} 

Eigentlich ist das Problem im Repository auf der Dropdownlist befindet sich param.Add("@NatureofLeave", objEmployeeLeave.NatureofLeave);

So kann jemand dieses Problem lösen .... Vielen Dank im Voraus

+0

'List ' ist eine Sammlung, so dass Sie durch den Text zu bekommen laufen müssen/value first (nur erkannte 'struct'-basierte Werttypen &' string' dürfen als Parameterwert verwendet werden). –

+0

Sie sehen Code nicht sinnvoll. Ein '