2014-11-06 4 views
0

Я использую AngularJS для публикации в своем WebAPI (C# /. Net). Он работал, но я удалил поле своего пароля из объекта UserProfile (потому что я использую структуру сущности и не хочу иметь столбец в этой таблице), и теперь я передаю пароль в виде строки из интерфейса в UserController через проводка.TypeError: Невозможно присвоить только свойство 'method' метода VAR

Проблема: UsersController никогда не получает почту, потому что браузер бросает ошибку:

TypeError: Невозможно назначить только для чтения «метода» свойства пароля

вот мой AngularJS код делает пост в UsersController:

var _addUser = function(newUser, password) { 

    var deferred = $q.defer(); 
    alert('_addUser password is ' + password); 
    **//********** password gets here just fine** 
    $http.post("/api/v1/users", newUser, password) **// <-- this is where it breaks** 
     .then(function(result) { 
      //success 
      var newlyCreatedUser; 
      angular.copy(result.data, newlyCreatedUser); 
      _users.splice(0, 0, newlyCreatedUser); 
      deferred.resolve(newlyCreatedUser); 
     }, 
     function() { 
      //error 
      deferred.reject(); 
     }); 

    return deferred.promise(); 
} 

Вот моя связь Метод ersController предполагается направить материал в:

public HttpResponseMessage Post([FromBody]UserProfile newUser, string password) 
    { 
     if (newUser.Created == default(DateTime)) 
     { 
      newUser.Created = DateTime.UtcNow; 
     } 

     if (_repo.AddUser(newUser, password) 
      && _repo.Save()) 
     { 
      return Request.CreateResponse(HttpStatusCode.Created 
       , newUser); 
     } 

     else 
     return Request.CreateResponse(HttpStatusCode.BadRequest); 
    } 

ответ

0

я решил не собирать пароль в отдельной строке и просто сказать Entity Framework игнорировать класс паролей с [NotMapped] украшение.

+0

Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий ниже своего сообщения - вы всегда можете прокомментировать свои собственные сообщения, и как только у вас будет достаточно [репутации] (http://stackoverflow.com/help/whats-reputation), вы будете быть в состоянии [прокомментировать любое сообщение] (http://stackoverflow.com/help/privileges/comment). –

+1

@ Шрим, да, он отвечает на вопрос. Это было решение Дуга по его собственной проблеме. – DB5

Смежные вопросы