2015-06-26 27 views
0

我試圖保存用戶創建的帖子,我一直在用戶名上留空,所以後端崩潰。選擇標籤上的Ng模型返回null/undefined

的HTML:

<select name="user" class="input"> 
    <option value="" ng-model="post.Username" ng-repeat="user in users">{{user.Name}}</option> 
</select> 

控制器:

var NewPostController = function ($scope, $location, $routeParams, Post) { 
    $scope.post = new Post(); 
    $scope.save = function() { 
     Post.save($scope.post, function() { 
      console.log($scope.post); 
      $location.path('/'); 
     }); 
} 

這是我DAL-部分:

public void AddPost(Post post) 
    { 
     SqlConnection con = new SqlConnection("Server=localhost;Database=XXX;User Id=XXX;Password=XXX;"); 
     string sql = "INSERT INTO Post (Title, Comment, Date, Imagelink, Username) VALUES(@Title, @Comment, @Date, @Imagelink, @Username)"; 
     con.Open(); 
     SqlCommand cmd = new SqlCommand(sql, con); 
     cmd.Parameters.AddWithValue("@Title", post.Title); 
     cmd.Parameters.AddWithValue("@Comment", post.Comment); 
     cmd.Parameters.AddWithValue("@Date", "2015"); 
     cmd.Parameters.AddWithValue("@Imagelink", post.ImageLink); 
     cmd.Parameters.AddWithValue("@Username", post.Username); 
     cmd.ExecuteNonQuery(); 
    } 

回答

1

你應該把NG-模型的選擇。此外,您需要選擇的值爲用戶名(user.Name)。

試試這個:

<select name="user" class="input" ng-model="post.Username"> 
<option value="{{user.Name}}" ng-repeat="user in users">{{user.Name}}</option> 
</select> 
+0

現在的下拉是完全空白:P – btmach

+0

OPSS!我的錯。我忘記了大括號。請檢查我的更新到答案。 –