【问题标题】:ajax update panel - imagebutton and button behaving differently?ajax 更新面板 - imagebutton 和 button 的行为不同?
【发布时间】:2011-05-07 06:42:11
【问题描述】:

我有一个 ajax 面板(实际上它是一个 Rad Ajax 面板 - 行为类似于 Ajax 更新面板,所有内容都在 ContentTemplate 部分,没有触发器),带有一个图像按钮 (asp:ImageButton) 和一个按钮 ( asp:按钮)。

我注意到它们的行为不同 - 图像按钮前进到回发(Page_Load 和 Button_Click 服务器函数),而按钮没有!

如何使用 Button 来实现这种行为? (用 ImageButton 替换 Button 解决了问题...有没有办法维护 Button 并具有 ImageButton 的行为?)


这就是我的代码的样子(两个按钮、两个点击函数和两个客户端点击函数):

<telerik:RadScriptManager ID="RadScriptManager1" runat="server">
</telerik:RadScriptManager>

<div style="width: 800px;">
    <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="RadAjaxLoadingPanel1">

    <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
        <script type="text/javascript">
            function validateSave() {
                // ...
                return true;                    
            }

            function validateAdd() {
                // ...
                return true; 
            }                                       
         </script>
    </telerik:RadScriptBlock>

    <asp:Panel ID="Panel1" runat="server" Visible="false">
    <fieldset>
        <legend>New item</legend>
        <%--..........--%>
        <asp:ImageButton ID="Button4" runat="server" 
        ImageUrl="~/App_Themes/ThemeDefault/images/add.gif"
        OnClientClick="return validateAdd();" 
        OnClick="Button4_Click" />
    </fieldset>


    <%--..........--%>
    <asp:Button ID="Button2" runat="server"                                
    OnClientClick="return validateSave();" 
    Text="Save" ToolTip="Save" OnClick="Button2_Click" />
</asp:Panel>


</telerik:RadAjaxPanel>                

<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server">
</telerik:RadAjaxLoadingPanel>        

</div>

【问题讨论】:

  • 我假设它也有 onclick 吗?
  • 嗯,是的!这是为什么?我在我的问题上添加了代码的基本结构(带有两个按钮的面板......不知道这两个 javascript 函数是否相关)。
  • 在那种情况下...我可以为按钮使用自定义验证器(对于 ImageButton 我必须维护 javascript 功能),它似乎确实解决了问题,谢谢! (但为什么会有不同的行为呢?...)

标签: asp.net ajax postback


【解决方案1】:

UpdatePanels 通常会与按钮一起出现问题。您可以做的一件简单的事情是将按钮移出更新面板。毕竟,UpdatePanel 中的内容越多,异步回发的速度就越慢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多