Как вызвать JavaScript с главной страницы? - PullRequest
0 голосов
/ 20 июля 2011

Я пытаюсь вызвать предупреждение javascript с главной страницы, где я получил панель обновления. Внутри этого кнопка и текстовое поле.

Мне нужно вызвать предупреждение при нажатии кнопки на моей главной странице. Пока, похоже, не работает. Пожалуйста, помогите.

 Page.ClientScript.RegisterStartupScript
                        (this.GetType(), "alert", "invokeMeMaster();", true);

Это то, что я написал в моем нажатии кнопки. invokerMEMaster включает только предупреждающее сообщение. Мне нужно перезагрузить страницу нажатием кнопки «ОК». Как я могу это сделать?

Ответы [ 4 ]

1 голос
/ 20 июля 2011

Панель обновления очищает код javascript при обратной передаче, поэтому попробуйте поместить этот код в заголовок.

<script type="text/javascript">

$(document).ready(
function(){

   Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
   function EndRequestHandler(sender, args) {//put your code here}

});

</script>
0 голосов
/ 22 июля 2011

Если я правильно понимаю ваш вопрос, у вас есть функция JS на странице содержимого, которую нужно вызывать с главной страницы?

Что бы я сделал, это добавил бы скрытый элемент управления вводом и функцию оповещения для вашегоглавная страница:

    <input runat="server" id="hdnAlert" name="Alert" type="hidden" />

    <script type="text/javascript"  language="javascript">  
        function AlertMe(){ alert(document.getElementByID("hdnAlert").value); }
    </script>

Затем вы можете изменить значение элемента управления вводом со страницы содержимого:

    HtmlInputHidden hdnTemp = new HtmlInputHidden();
    hdnTemp = (HtmlInputHidden)Master.FindControl("hdnAlert");
    hdnTemp.Value = "Message To Alert";

Затем просто нажмите кнопку на главной странице, чтобы вызвать "AlertMe"Функция находится на главной странице.

0 голосов
/ 20 июля 2011

Если я угадаю вашу проблему (экстрасенсорная отладка): при обновлении панели обновлений javascript не отображается на вашей странице.

Попробуйте зарегистрировать свой javascript, как на панели обновления:

ScriptManager.RegisterClientScriptBlock(Page,typeof(string),"JavaScriptCall",script.ToString(), false);
0 голосов
/ 20 июля 2011

Вам необходим ScriptManagerProxy , с ScriptManager, находящимся на вашей странице контента

...