【问题标题】:findcontrol() oddities in html and asp.net control/elements?html 和 asp.net 控件/元素中的 findcontrol() 异常?
【发布时间】:2012-01-19 23:41:32
【问题描述】:

谁能解释为什么 asp:imagebutton 给我一个格式错误的 html 错误,而 html 输入元素却没有?我知道这是关于 onclientclick 中的 findcontrol() 任务。它们以完全相同的格式编写,但也许它们不应该是?

 <ItemTemplate>
     <input type="image" src="Resources/info.png"         onclick="toggle('<%# Container.FindControl("PresetUploadDescription").ClientID %>');return false;" /> 
     <asp:ImageButton ImageUrl="Resources/info.png" OnClientClick="toggle('<%# Container.FindControl("PresetUploadDescription").ClientID %>');return false;" ToolTip="info" ID="Description" runat="server"/>
.... 

【问题讨论】:

    标签: asp.net listview input imagebutton findcontrol


    【解决方案1】:

    您不能在服务器上执行的控件中使用 构造。 (runat="服务器")

    用于数据绑定或 Eval 类型语句。

    相当于一个Response.Write 语句,看起来就像你正在尝试做的事情(写出某个控件的ClientID)。不幸的是,这也不起作用 - 你会得到一个

    服务器标签不能包含 结构。错误

    要修复,您需要通过代码隐藏页面将 OnClientClick 属性添加到 Imagebutton 控件:

    Description.Attributes.Add("OnClientClick", 
    "toggle('" + FindControl("PresetUploadDescription").ClientID + "');return false;");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多