好吧,我有一个令人尴尬的简单问题,希望有一个令人尴尬的简单答案。我正在尝试获取一个 asp:ImageButton 来显示一条警报消息,其中包含来自我的代码隐藏的变量。这是代码的过度简化版本:
public string AlertMe
{
get
{
return "alert('hi');";
}
}
现在,当我尝试以这种方式访问它时:
<asp:ImageButton ID="btn" runat="server" ImageUrl="/Images/img.ico" OnClientClick='<%=AlertMe%>'/>
我看到回发,但没有警告消息,好像它根本无法访问我的财产。同时,这两行:
<%=AlertMe%><br />
<a onclick="<%=AlertMe%>">click this</a>
两者都工作得很好而且花花公子。(第一个显示 javascript 警报的代码,第二个触发警报没有问题。)
所以我的大问题是:为什么asp控件的OnClientClick事件无法注册警报?我是否缺少明显的缺陷,或者我真的需要从代码隐藏中注册整个事件?