【发布时间】:2010-02-03 16:13:13
【问题描述】:
在使用带有 OnClientClick 属性的 ASP.NET LinkButton 时,我遇到了一些奇怪的行为。
ASPX
<asp:DropDownList ID="test" runat="server" AutoPostBack="true">
<asp:ListItem>test1</asp:ListItem>
<asp:ListItem>test2</asp:ListItem>
<asp:ListItem>test3</asp:ListItem>
</asp:DropDownList>
<asp:LinkButton CssClass="button" ID="btnDeleteGroup" runat="server">
<img src="cross.png" alt="delete-group" width="16" height="16" />
<span><asp:Literal ID="lblDeleteGroup" runat="server" Text="Delete" /></span>
</asp:LinkButton>
代码隐藏
protected void Page_Load(object sender, EventArgs e)
{
btnDeleteGroup.OnClientClick = "return confirmAction('delete?');";
}
没有 OnClientClick,一切都很好。 使用 OnClientClick,我的 LinkButton 在回发时消失(使用 DropDownList)。
在another topic 中,我找到了将 EnableViewState 设置为 false 的解决方案。 但是我正在编写的应用程序是多语言的,因此将 EnableViewState 设置为“false”,我的翻译也会丢失。
if ( !Page.IsPostBack ) {
// translate all form elements
TranslationUI();
}
我宁愿不在 !Page.IsPostBack 方法之外调用此方法,因为 TranslationUI-method() 基于数据库转换表单元素。
【问题讨论】:
-
哇,这很奇怪..我也可以重现这个..在页面回发后的结果标记中,链接按钮的相应
<a>标签不包含任何嵌套标签更长。这就是它看起来消失的原因..
标签: c# asp.net javascript