【发布时间】: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 功能),它似乎确实解决了问题,谢谢! (但为什么会有不同的行为呢?...)