Подтвердить что ты не робот

Как вызвать функцию С# из javascript?

Я хочу вызвать код CsharpFunction позади JavaScript. Я попробовал код ниже. Проблема в том, что условие True или False, компилятор будет называть CsharpFunction в любом случае! Как я могу это контролировать?

Код JavaScript:

if (Javascriptcondition > 0) {
   <%CsharpFunction();%>
}

Код С# позади:

protected void CsharpFunction()
{
  // Notification.show();
}

Спасибо за помощь!

4b9b3361

Ответ 1

Вы можете использовать веб-метод и Ajax

   <script type="text/javascript">             //Default.aspx
       function DeleteKartItems() {     
                 $.ajax({
                 type: "POST",
                 url: 'Default.aspx/DeleteItem',
                 data: "",
                 contentType: "application/json; charset=utf-8",
                 dataType: "json",
                 success: function (msg) {
                     $("#divResult").html("success");
                 },
                 error: function (e) {
                     $("#divResult").html("Something Wrong.");
                 }
             });
         }

  [WebMethod]                                 //Default.aspx.cs
  public static void DeleteItem()
  {
     //Your Logic
  }

Ответ 2

Функции на стороне сервера находятся на стороне сервера, клиентские функции находятся на клиенте. Что вы можете сделать, так это вам нужно установить скрытую форму переменной и отправить форму, а затем на странице использовать Page_Load обработчик, вы можете получить доступ к значению переменной и вызвать метод сервера.

Более подробную информацию можно найти здесь и здесь

Ответ 4

.CS File    
    namespace Csharp
    {
      public void CsharpFunction()
      {
        //Code;
      }
    }

    JS code:
    function JSFunction() {
            <%#ProjectName.Csharp.CsharpFunction()%> ;
    }

Примечание: в функции JS при вызове функции вашей страницы CS.... имя проекта, затем имя пространства имен на странице CS, а затем имя функции

Ответ 5

Если вы хотите сделать вызов сервера от клиента, вы должны использовать Ajax - посмотрите на что-то вроде JQuery и используйте $.Ajax() или $.getJson() для вызова функции сервера, в зависимости от того, какой тип о возврате, которое вы хотите, или о действии, которое вы хотите выполнить.

Ответ 6

Вы не можете. Javascript работает на стороне клиента, С# запускает серверную часть.

Фактически, ваш сервер будет запускать весь код С#, генерировать Javascript. Затем Javascript запускается в браузере. Как сказано в комментариях, компилятор не знает Javascript.

Чтобы вызвать функциональность на вашем сервере, вам придется использовать такие методы, как AJAX, как сказано в других ответах.