Как вызвать функцию JavaScript из c # - PullRequest
5 голосов
/ 22 апреля 2010

Мне нравится вызывать функцию JavaScript из c #. Может кто-нибудь может дать мне фрагмент кода.

Подробнее ...

У меня есть страница asp.net, на которой есть кнопка asp. когда я нажимаю эту кнопку, мне нравится вызывать функцию javascript.

как мудрый ....

на моей странице asp.net,

<button id="save" onclick="i like to call a method resides in asp.net page'>Save</button>

Все больше и больше деталей ... когда я нажимаю кнопку asp.net, мне нравится выполнять какие-либо действия на стороне сервера, а затем самому вызывать функцию javascript оттуда ...

Ответы [ 7 ]

9 голосов
/ 22 апреля 2010

Для asp:button вы используете OnClientClick

<asp:Button id="myid" runat="server" OnClientClick="alert('test')" />
6 голосов
/ 22 апреля 2010

Предполагая, что вы кодируете в ASP.NET (включая MVC), вызов функции JavaScript будет означать встраивание вызова в JavaScript в ваш код ASPX, например:

<script type="text/javascript">
  doSomething();
</script>

Вы делаетеиметь возможность передавать информацию из вашего C # в вызов JS, так же, как любой другой код изменяет результаты вашего ASPX:

<script type="text/javascript">
  doSomething("<%= GetSomeTextFromCSharp();  %>");
</script>

Это действительно расширяет определение «вызова JavaScript из C #»." хоть.То, что вы делаете, это заставляет ваш код C # / ASPX генерировать HTML / JavaScript, который браузер затем интерпретирует так же, как любой другой HTML / JS (независимо от того, как он был сгенерирован).

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

4 голосов
/ 29 апреля 2010

Я пытался с этим кодом, он работает для меня, проверьте, помогает ли это

1)

Page.ClientScript.RegisterStartupScript(this.GetType(), "click", "alert('Informations');", true); 

Другой способ - вызвать метод javascript, который написан на исходной странице

Page.ClientScript.RegisterStartupScript(this.GetType(), "click", "xyz();", true); 
3 голосов
/ 22 апреля 2010

Вы не можете "вызвать" функцию Javascript из кода ASP.NET C #.Вы можете написать дополнительный Javascript на веб-страницу.К тому времени, когда страница будет отправлена ​​обратно пользователю и Javascript уже существует, ваш код позади.Вы можете записать в Literal или сделать Response.Write ()

Response.Write("<script language='javascript'>alert('Hellow World');</script>");
1 голос
/ 23 января 2012

вы можете вызвать функцию javascript из кода за страницей .. например, у вас есть часть определения функции closewindow в javasript .. если вы хотите выполнить эту функцию, вы можете написать следующие кодировки в любом событии щелчка в коде позади страницы .. 1001 *

ClientScript.RegisterClientScriptBlock(GetType(), "close", "<script language=javascript>Closewindow();</script>", false);
1 голос
/ 22 апреля 2010

Для объекта окна:
http://msdn.microsoft.com/en-us/library/ms536420%28VS.85%29.aspx

window.execScript

Для страницы объекта:
http://msdn.microsoft.com/en-us/library/dfbt9et1%28v=VS.71%29.aspx

RegisterClientScriptBlock

RegisterOnSubmitStatement

RegisterStartupScript

и т. Д. *

1 голос
/ 22 апреля 2010

Сарати, исходя из вашего недавнего обновления, не ясно, нужно ли вам вообще какое-либо взаимодействие с C #. Ваш <button> выглядит строго на стороне клиента (т. Е. HTML) без взаимодействия с ASP.NET. Чтобы вызвать функцию JavaScript, вы должны присоединить вызов функции к атрибуту onclick тега кнопки:

<button id="save" onclick="mySaveFunction();'>Save</button>

Обратите внимание, что mySaveFunction() просто необходимо определить в стеке загрузки браузера для текущей страницы. Это означает, что он может быть определен в любом из:

  • Страница ASPX, которая содержит <button>
  • Главная страница для текущей страницы ASPX
  • Один из пользовательских элементов управления (или партиал MVC), загруженный текущей страницей ASPX
  • Внешний файл JavaScript, загруженный одним из вышеперечисленных.

Наконец, я хотел бы повторить, что в этом нет ничего особенно специфичного для C # / ASP.NET. Вы можете сделать то же самое с любым языком / каркасом, включая статические файлы HTML. Похоже, ваш вопрос полностью зависит от JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...