【问题标题】:showing message box on control's modal popup extender在控件的模式弹出扩展器上显示消息框
【发布时间】:2013-01-09 12:47:08
【问题描述】:

我在一个页面中有一个控件,该控件具有以下模式弹出扩展器:

<asp:Panel ID="pnl_Completed" runat="server">
    <asp:Image ID="exit_Completed" runat="server" ImageUrl="" />
    <h3 style="text-align:center;">Completed</h3>
    <asp:Panel ID="pnl_inner" runat="server">
    <table style="width:100%;height:100%" cellpadding="5px"> 
        <tr style="height:40px;">
            <td valign="top">Comment: </td>
            <td>
            <telerik:RadTextBox ID="txt_CompletedComment" runat="server" TextMode="MultiLine" Rows="6" Width="400" Height="100"></telerik:RadTextBox>        
            </td>
        </tr>
        <tr style="height:40px;">
        <td colspan="2" align="center"><asp:Button id="btn_SaveCompleted" runat="server" Text="Complete" OnClick="btn_SaveCompleted_Click" /></td>
        </tr>
    </table> 
    </asp:Panel>

</asp:Panel>
<cc1:ModalPopupExtender ID="ModalPopupExtender_Completed" runat="server"  PopupControlID="pnl_Completed" CancelControlID="exit_Completed" TargetControlID="dummy_btn_Completed" >
</cc1:ModalPopupExtender>

<asp:Button id="dummy_btn_Completed" runat="server" CssClass="display_none" />

当文本框为空时,我想在 btn_SaveCompleted_Click 事件上显示一个消息框我已经尝试过:

 If txt_CompletedComment.Text.Trim().Length = 0 Then
            ScriptManager.RegisterStartupScript(Me, Me.GetType, "key", "alert('Please enter a comment.');", True)
 End If

但这不起作用,它只是隐藏了模态弹出扩展器,没有错误。我做错了吗?有没有其他方式可以展示?

【问题讨论】:

    标签: asp.net controls ajaxcontroltoolkit messagebox modalpopupextender


    【解决方案1】:

    只需使用JavaScript,有很多方法可以做到这一点,这里是一个例子:

    <asp:Button id="btn_SaveCompleted" runat="server" Text="Complete"  
       OnClientClick="return ValidateTheTextbox();"OnClick="btn_SaveCompleted_Click" />
    
    
    <script>
         function ValidateTheTextbox()
         {
              var txtbox = document.getElementById('<%= txt_CompletedComment.ClientID %>');
              if(txtbox.value=="")
              {
                  alert('Please enter a comment.');
                  return false; //suppress the submit button
              }
              return true; //let the form submit
         }
    </script>
    

    【讨论】:

    • 我已经放置了函数和 onclientclick 但我得到 ValidateTheTextbox is not defined...
    • 知道了,我必须将 ScriptManager.RegisterStartupScript(我改为 ScriptManager.RegisterStartupScript(Me.Page 以获取父页面......谢谢
    猜你喜欢
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多