2009-03-11 4 views
0

У меня есть DDL ASP.NET, который выглядит, как это, когда я рассматриваю источник:ASP.NET 2.0: Вызов функции из яваскрипта OnChange с AutoPostBack = верно

<select name="testControl" onchange="DoCustomStuff();setTimeout('__doPostBack(\'testControl\',\'\')', 0)" id="testControl"> 

Похоже это на странице .cs :

<asp:DropDownList ID="testControl" runat="server" onchange="DoCustomStuff()" OnSelectedIndexChanged="testControl_Changed" AutoPostBack="true" /> 

Может кто-нибудь увидеть проблему с помощью OnChange и AutoPostBack = «истина» на DDL, как это? Я спрашиваю, потому что у нас есть некоторые пользователи, для которых DoCustomStuff(), похоже, не вызывается правильно, и мне интересно, будет ли возможно выполнение функции __doPostBack() до того, как DoCustomStuff() завершит свою работу.

ответ

0

Попробуйте прикрепить ссылку вручную обратной передачи так:

Page.ClientScript.RegisterClientScriptBlock(
    typeof(_Default), 
    "PageScripts", 
    string.Format("function DoCustomStuff() { /* Your Code Here */ {0} }", Page.ClientScript.GetPostBackEventReference(testControl, string.Empty)) 
); 

testControl.Attributes["onchange"] = "DoCustomStuff();"; 

это дает вам ссылку клиента на стороне постбэк:

Page.ClientScript.GetPostBackEventReference(testControl, string.Empty)) 

 Смежные вопросы

  • Нет связанных вопросов^_^