2016-06-25 6 views
-1

Die Parameter Wörterbuch enthält einen Null-Eintrag für die Parameter-ID

function GetStatevalue() { 
    var state_id= $("#ddlstate").val(); 
    var city = $("#txtcity").val(); 
    var datao = new Object(); 
    datao={ state:state_id ,city_name: city } 
    var url = "/city/AddCity"; 
     $.ajax({ 
     url: url, 
     data:datao , 
     cache: false, 
     type: "POST", 
     dataType: "json", 
     success: function (datao) { 

     }, 
     error: function (reponse) { 
      alert("error : " + state_id); 
     } 
    }); 

HTML-Formular

@Html.DropDownListFor(model => model.tbl_state.coutry_id, (SelectList)ViewBag.country_nm, "Select Country", new {@id="coutry_id" , @onchange="GetState(this.value)"}) 

<select id="ddlstate" name="ddlstate" style="width: 200px" > 
@Html.TextBoxFor(model =>model.tbl_city.city_name ,new {@id="txtcity" })   
<input type="submit" id="save" value="Add" name="actiong" onclick="GetStatevalue();" /> 

Regler

[HttpPost] 
public ActionResult AddCity(int id,String city_name) 
{ 
    tbl_city data = new tbl_city(); 
    data.city_name = city_name; 
    data.state_id = id; 

    db.tbl_city.Add(data); 
    db.SaveChanges(); 
    return Json(data); 
} 

Die Parameter Wörterbuch enthält einen Null-Eintrag für den Parameter ‚id 'des nicht nullfähigen Typs' System.Int32 'für die Methode' System.Web.Mvc.ActionRes ' ult AddCity (Int32, System.String) 'in' test_app.Controllers.cityController '. Ein optionaler Parameter muss ein Referenztyp, ein Nullable-Typ oder ein optionaler Parameter sein. Parametername: Parameter

+0

Die Parameter Wörterbuch einen Null-Eintrag für den Parameter ‚id‘ von Nicht-Nullable Types ‚System.Int32‘ enthält für Methode 'System.Web.Mvc.ActionResult AddCity (Int32, System.String)' in 'test_app.Controllers.cityController'. Ein optionaler Parameter muss ein Referenztyp, ein Nullable-Typ oder ein optionaler Parameter sein. Parametername: Parameter – Rics

+0

Weil Sie nie einen Wert des Parameters 'id' senden, nur für' state' und 'city_name' –

+0

in einem Zustand state_id wurde gespeichert. In der Controller-Methode verwenden Sie den Parameter int id, um die state_id zu speichern. – Rics

Antwort

0

nach dem JqueryCode sehen, Action Sie Methode soll wie folgt aussehen:

[HttpPost] 
public ActionResult AddCity(int state,String city_name) 
//bcoz{ state(action variablename):state_id ,city_name(action variablename): city } 
{ 
    tbl_city data = new tbl_city(); 
    data.city_name = city_name; 
    data.state_id = id; 

    db.tbl_city.Add(data); 
    db.SaveChanges(); 
    return Json(data); 
} 
Verwandte Themen