2016-05-07 13 views
0

Ich habe ein Modell wie folgt aus:Wie dynamische Liste schreiben Mvc Controller Asp

public class Feature 
{ 
    public int id { get; set; } 
    public List<keyFeatures> features { get; set; } 
} 

public class keyFeatures 
{ 
    public string key { get; set; } 
    public string value { get; set; } 
} 

Im Front dynamisch Schlüsselpaar Werte schaffe ich mit Winkel

  <div ng-repeat="item in items" class="row"> 
      <div name="features" class="row"> 
       <div class="col-md-6"> 
       <input type="text" class="form-control input-md" placeholder="{{item.key}}" name="key" ng-model="item.key" /> 
        <span class="error" ng-show="$parent.submitted&& innerForm.fieldU.$error.required">Required!</span> 
        </div> 
         <div class="col-md-6"> 
         <input type="text" class="form-control input-md" name="value" placeholder="enter text..." ng-model="item.value" /> 
         <span class="error" ng-show="$parent.submitted && innerForm.userName.$error.required"> Required! </span> 
       </div> 
      </div> 
      </div> 

Iv verschiedene Arten versucht, aber es immer null zurück zu meinem Controller auf Post (Razor)

public ActionResult Create(Feature model) 
{ 
    // ... 
} 

Vielen Dank im Voraus

Antwort

0

Sie können den Angular-Dienst $http verwenden, um einen asynchronen Anruf an Ihren MVC-Controller zu senden und die gewünschten Daten zu übermitteln.

var feature = { 
    id: 123, 
    features: $scope.items 
}; 

$http.post(url, JSON.stringify(feature)).success(function(result) { 
    alert('successfully sent to server'); 
}).error(function() { 
    alert('an error occurred'); 
}); 

In diesem Beispiel nehme ich an, dass $scope.items ist ein Array von Gegenständen, die key und value Eigenschaften. Zum Beispiel:

$scope.items = [ 
    { key: 'key1', value: 'value1' }, 
    { key: 'key2', value: 'value2' }, 
    { key: 'key3', value: 'value3' } 
];