0
我想通過一個類別對象作爲我的子類別對象的參數到我的Asp.net控制器。但.net控制器總是將我的subcategory.SuperCategory對象設置爲null。
這是我SubCategoryobject:作爲參數從視圖發送對象到AngularJS的Asp.net控制器
public class SubCategory
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Name { get; set; }
[Required]
public Category SuperCategory { get; set; }
}
這裏我Asp.net控制器:
public void createSubCategory([FromBody]SubCategory subcategory)
{
System.Diagnostics.Debug.WriteLine("SuperCategoryName: " + subcategory.SuperCategory.Name);
}
這是我的AngularJS功能:
$scope.savedataSubCategory = function (subcategory) {
$http.post('/AAAngular/createSubCategory', { Name: subcategory.Name, SuperCategory: {Id: subcategory.SuperCategory.Id, Name: subcategory.SuperCategory.Name } })
.then(function successCallback(response) {
console.log(response);
}
, function errorCallback(response) {
console.log(response);
})
}
和我查看部分:
<input type="text" class="form-control" data-ng-model="subcategory.Name">
<select data-ng-model="subcategory.SuperCategory">
<option ng-repeat="category in categories">{{category}}</option>
</select>
<input type="button" value="Save" data-ng-click="savedataSubCategory(subcategory)"/>
個
分類正確加載,這是{{subcategory.SuperCategory}}:
{"Id":63,"Name":"TestCat"}
而且{{子類}}顯示爲:
{"SuperCategory":"{\"Id\":63,\"Name\":\"TestCat\"}"}
而且我覺得這裏存在問題,由於反斜槓,它無法讀取它。當我只試圖傳遞一個類別的變量時,它可以工作,但我需要整個對象。
當我只嘗試傳遞類別名稱時,這就是我的子類別的外觀。
嘗試爲你的'post'調用添加'headers:{'Content-Type':'application/json'}。 – Claies
@Claies沒有工作SuperCategory在我的.net控制器中仍然爲空。 – darron614