вызвать автоматический постбэк в javascript - PullRequest
1 голос
/ 16 февраля 2011

У меня нет доступа к тегу <body>, потому что он находится на главной странице. Я хочу запустить автоматический постбэк при загрузке страницы как:

<script type="text/javascript">
       window.onscroll=  __doPostBack("<%= button.ClientID %>", "");
</script>

где я должен поставить этот код? Я получаю ошибку Не реализовано JS, если я помещаю ее перед тегом </asp:Content>.

Есть идеи, как мне это сделать?

PS: мне нужно запустить эту обратную передачу, потому что я хочу заполнить панель обновления при загрузке страницы

1 Ответ

4 голосов
/ 16 февраля 2011

Вы можете иметь такой код и разместить его где угодно:

<% if (!Page.IsPostBack) { %>
<script type="text/javascript">
window.onload = function() {
   __doPostBack("<%= button.ClientID %>", "");
}
</script>
<% } %>

Предполагается, что вы используете C # - если у вас VB.NET, синтаксис будет немного другим.

Редактировать:чтобы избежать использования <% и %>, вы можете иметь это в Page_Load вашей страницы:

if (!Page.IsPostBack) {
   this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "auto_postback", "window.onload = function() { __doPostBack(\"" +  button.ClientID + "\", \"\"); }; ", true);
}

Редактировать II: альтернативный способ с большей вероятностью работы состоит в том, чтобы вместо этого иметь такой код JS:

"window.onload = function() { var buttonID = '" +  button.ClientID + "'; alert('ID: ' + buttonID + ', clicking...'); document.getElementById(buttonID).click(); }; "

Мы надеемся, что вам будет показан идентификатор клиента кнопки, а затем она будет автоматически нажатаЕсли вам не повезло, убедитесь, что идентификатор правильный и действительно существует в документе, и мы постараемся выяснить, в чем проблема.

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