2010-01-07 3 views
3

Когда пользователь нажимает кнопку, я хотел бы отобразить модальное диалоговое окно для захвата нескольких значений из текстовых полей и отправки этих значений на сервер.AjaxToolkit ModalPopupExtender: Как настроить фокус на элемент управления во всплывающей панели?

Когда отображается модальное окно, я хотел бы, чтобы курсор помещался в текстовое поле txtFirst.

Как это сделать? У меня были проблемы с командами registerscript раньше, поэтому, если нужно, я надеюсь, что синтаксис, если вы его предоставите, верен.

Благодаря

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="MyModalSimple.aspx.vb" Inherits="MyModalSimple" %> 
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 

    <script type="text/javascript"> 

     function onOk() {    
      form1.submit(); 
     } 
    </script> 

</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:ScriptManager ID="ScriptManager1" runat="server"> 
     </asp:ScriptManager> 
     <asp:Button ID="Button1" runat="server" Text="Button" /> 
     <cc1:modalpopupextender id="Button1_ModalPopupExtender" runat="server" targetcontrolid="Button1" 
      popupcontrolid="pnlModal" okcontrolid="btnOK" cancelcontrolid="btnCancel" DropShadow="true" OnOkScript="onOk();"> 

     </cc1:modalpopupextender> 

     <asp:Panel ID="pnlModal" runat="server" Style="display: None1" 
      BackColor="#CCCCCC"> 
      <br /> 
      <table> 
       <tr> 
        <td> 
         <asp:Label ID="lblFirst" runat="server" Text="First"></asp:Label> 
        </td> 
        <td> 
         <asp:TextBox ID="txtFirst" runat="server"></asp:TextBox> 
        </td> 
       </tr> 
       <tr> 
        <td> 
         <asp:Label ID="lblLast" runat="server" Text="Last"></asp:Label> 
        </td> 
        <td> 
         <asp:TextBox ID="txtLast" runat="server"></asp:TextBox> 
        </td> 
       </tr> 
       <tr> 
        <td> 
         &nbsp; 
        </td> 
        <td align="right"> 
         <asp:Button ID="btnOK" runat="server" Text="OK" /> 
         <asp:Button ID="btnCancel" runat="server" Text="Cancel" /> 
        </td> 
       </tr> 
      </table> 
      <br /> 
      <br /> 
     </asp:Panel> 

    </div> 
    </form> 
</body> 
</html> 

Кроме того, как я мог бы изменить код выше, так что модальный диалог был показан в результате выбора из DROPDOWNLIST товара? Если я устанавливаю targetcontrolid = «DropDownList1», диалоговое окно отображается, когда оно падает, а не когда делается выбор

ответ

2

Пример можно найти here. По сути, вы используете javascript.

+0

Спасибо. Я отправлю свой вопрос второй части отдельно – ChadD

0

Я знаю, что это уже был дан ответ, но вот простой код:

C#:

ScriptManager.RegisterStartupScript(this, this.GetType(), "FocusScript", "setTimeout(function(){$get('" + btnOk.ClientID + "').focus();}, 100);", true); 

VB:

ScriptManager.RegisterStartupScript(Me, Me.[GetType](), "FocusScript", "setTimeout(function(){$get('" + btnOk.ClientID + "').focus();}, 100);", True) 
Смежные вопросы