Как вызвать метод расширения C # в JQuery? - PullRequest
0 голосов
/ 25 декабря 2018

У меня есть метод расширения ToShamsi для класса DateTime в Asp.net Core.

, и мне нужно использовать этот метод расширения в JQuery.

Как мне это сделать?Предположим, что у меня есть пользователь, и я могу вызвать этот метод расширения следующим образом:

@user.RegisterDate.ToShamsi();

Как мне использовать приведенный выше код в JQuery, как это?пользователь, получите по Ajax:

$("#tableBody").append("<tr><td>" +
         user.RegisterDate+                        
         "</td></tr>" );

приведенный выше код в порядке, но я хочу скрытую дату шамси:

$("#tableBody").append("<tr><td>" +
         user.RegisterDate.ToShamsi()+                        
         "</td></tr>" );                

Ответы [ 2 ]

0 голосов
/ 25 декабря 2018

Вы не можете вызвать его в JQuery, если не добавите свой код javascript в свой код бритвы, тогда вы можете указать в качестве параметра @ user.RegisterDate.ToShamsi ().Но я предлагаю вам использовать скрытое поле, чтобы вы могли легко прочитать его в своем коде JQuery.Что-то вроде:

<input type="hidden" id="shamsiDate" value="@user.RegisterDate.ToShamsi()" />

Тогда в вашем jquery вы можете сказать:

$("#shamsiDate").val()

для чтения даты.

0 голосов
/ 25 декабря 2018

Поскольку ваш метод расширения находится в c # и выполняется на сервере, а jquery - на стороне клиента, у вас есть 3 варианта.

  1. Повторно реализовать логику в вашем коде c # в JavaScript
  2. Создайте на своем сервере конечную точку, которую вы можете вызывать из кода JS, чтобы вернуть нужное вам значение.
  3. Вызовите метод расширения, когда ваша страница будет обработана, и при необходимости используйте это значение

В зависимости от архитектуры вашего приложения, один вариант может иметь больше смысла, чем другой.

...