Как вручную отправить кнопку в asp.net, используя JavaScript? - PullRequest
2 голосов
/ 21 августа 2009

Используя javascript, я хочу отправить кнопку asp.net, как я могу это сделать?

Я знаю, что онклик выглядит следующим образом: javascript: WebForm_DoPostBackWithOptions (new .....);

Я тоже устал, потому что идентификатор элемента управления может измениться.

Ответы [ 5 ]

9 голосов
/ 21 августа 2009

Если у вас есть элемент управления, похожий на этот:

<asp:Button ID="Foo" ... />

Вы можете сделать что-то простое, например, запустить событие 'click' в JS при доступе к обновленному идентификатору клиента (здесь синтаксис jQuery):

$('#<%=Foo.ClientID%>').click()

Или вы можете заставить JS работать так:

<script type="text/javascript">
  function clickFoo() {
    <%=Page.ClientScript. GetPostBackEventReference(Foo)%>;
  }
</script>
4 голосов
/ 21 августа 2009
var button = document.getElementById('btnID'); 
if (button)
{ 
   button.click();
}

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

var button = document.getElementById('<%= myServerButton.ClientID %>'); 
if (button)
{ 
   button.click();
}

Когда ваш .aspx обработан, идентификатор кнопки, отображаемой на странице, будет подставлен в вашу функцию javascript.

2 голосов
/ 21 августа 2009

Используя jquery, поместите что-то подобное на страницу aspx.

$('#<%= myctrl.ClientID %>').click();

myctrl - это кнопка. Свойство ClientID дает идентификатор кнопки html. Jquery предлагает функцию click .

2 голосов
/ 21 августа 2009

Это просто, вы можете использовать функцию __doPostBack, передавая идентификатор элемента управления, который вы хотите, чтобы событие click (команда и т. Д.) Было запущено.

Чтобы избежать проблем с ID, сделайте что-то вроде этого:

__doPostBack("<%= yourConrol.UniqueID%>");

EDIT: Существует существующий метод .Net Framework Page.GetPostBackEventReference , который генерирует клиентский сценарий, который инициирует обратную передачу, а также предоставляет ссылку на элемент управления, который инициировал событие обратной передачи.

0 голосов
/ 10 декабря 2010

Вы можете нажать кнопку или отправить форму.

Итак, если вы хотите нажать на кнопку,

var button = document.getElementById('<%= btnButtonID.ClientID %>');  
if (button) { button.click(); } 

или Опубликовать форму

document.forms[0].submit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...