Вызов действия MVC из события ngBlur - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь обновить свойство модели с именем State.TransactionProcessingIds.EventInstanceName из директивы nb-blur, вызвав метод действия контроллера в C #.

На мой взгляд, следующее:

<md-input-container>
<input name="EventInstanceId" type="text" ng-blur="$http.post('/InternalDonations/Test').success(function (data) { State.TransactionProcessingIds.EventInstanceName = data; });">
</md-input-container>

и у меня есть следующий контроллер и метод действия:

public class InternalDonationsController : Controller
{
    public string Test()
    {
        return "test123";
    }
}

Событие ngBlur возникает, когда текстовое поле теряет фокус, однако, когда это происходит, я вижу, что State.TransactionProcessingIds.EventInstanceName не обновляется.

Я подключил отладчик к SiteCore и установил точку останова для метода действия и могу видеть, что он никогда не вызывается.

Для /InternalDonations/Test определен маршрут, который работает.

Как я могу вызвать метод действия из ngBlur?

1 Ответ

0 голосов
/ 06 июня 2018

Вместо использования службы $ http в шаблоне создайте метод & inside, который выполняет вызов службы.Так что обновите шаблон до

<md-input-container>
    <input name="EventInstanceId" type="text" ng-blur="postTestData()">
</md-input-container>

В контроллере добавьте этот метод как:

this.postTestData = function() {
    $http.post('/InternalDonations/Test', postData).then(function (data) { 
        State.TransactionProcessingIds.EventInstanceName = data; 
    });
}

Убедитесь, что вы вводите $ http в контроллер, и ваша служба работает, 1-й протестируйте эту службу с помощьюPOST (или GET) метод в Postman или любом другом REST-клиенте.

...