Не удается получить JavaScript для выполнения на пользовательском элементе управления ASP.NET - PullRequest
1 голос
/ 31 марта 2009

Я пытаюсь сделать самую простую вещь, чтобы показать всплывающее окно предупреждения через javascript из моего кода позади пользовательского элемента управления (ascx.cs).

Я пробовал

protected void btnSave_Click(object sender, EventArgs e)
{
    ScriptManager.RegisterStartupScript(btnSave, GetType(), "uniqueID", "alert('hello');", true);
}

а также

Page.ClientScript.RegisterStartupScript(GetType(), "uniqueID", "alert('hello');", true);

но мне кажется, ничего не работает. Элемент управления расположен в RadAjaxPanel (telerik) на странице ASPX.

Я здесь упускаю что-то очевидное. Есть идеи что?

РЕДАКТИРОВАТЬ: Насколько я вижу, javascript не вводится в источник HTML. Я ищу идентификатор и фактический оператор оповещения в HTML.

Ответы [ 4 ]

1 голос
/ 31 марта 2009

Ах, проблема была в Telerik RadAjaxPanel. Мне просто нужно было установить для параметра EnableOutsideScripts значение true, например:

<telerik:RadAjaxPanel ID="ajaxpanel" runat="server" LoadingPanelID="ajaxLoadingPanel" EnableOutsideScripts="true">

И тогда я мог бы использовать следующий код:

ScriptManager.RegisterStartupScript(btnSave, GetType(), "uniqueID", "alert('hello');", true);
1 голос
/ 31 марта 2009

Передать тип страницы в Тип клиентского скрипта Параметр:

Page.ClientScript.RegisterClientScriptBlock(typeof(MyPage), 
    "myPostBackScript", script, true);

EDIT: Обычно этот код работает, но я не знаю, как управление telerik влияет на внедренный скрипт. Я думаю, что вы должны открыть исходный HTML-код страницы и попытаться найти введенный скрипт. Это поможет нам решить вашу проблему.

0 голосов
/ 31 марта 2009

Вы звоните, если из события onClienClick кнопки? какой бы элемент управления вы ни использовали, убедитесь, что вы вызываете js из события на стороне клиента

также, посмотрите на это для идей

EDIT

вы не можете ВЫЗВАТЬ js с сервера, js - это сценарий на стороне клиента. что вы можете сделать, это зарегистрировать свой скрипт ПОСЛЕ того, как вы выполните всю проверку, и привязать его к событию onload. см. ТАК вопрос для деталей

EDIT2

проверить последнее сообщение на этой странице

0 голосов
/ 31 марта 2009

У вас есть <form runat="server" на вашей странице?

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