2012-01-19 9 views
0

誰かがなぜasp:imagebuttonがHTML入力要素の間にひどく形成されたHTMLエラーを出すのかについての説明を提供できますか?私はonclientclick 課題のfindcontrol()について知っています。彼らはまったく同じ形式で書かれていますが、そうではありませんか?findcontrol()htmlとasp.netのコントロール/要素の奇妙さ?

<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"/> 
.... 

答えて

0

<%...%>構成は、サーバーで実行されるコントロールで使用できません。 (runat = "server")

<%#...%>は、データバインディングまたはEvalタイプのステートメントに使用されます。

<%= ...%>は、あなたがしようとしている(特定のコントロールのClientIDを書き出す)ようなResponse.Writeステートメントに相当します。残念ながら、これはうまくいかないでしょう -

サーバータグには<%...%>の構造体を含めることはできません。

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

は、ページの背後にあるコードを経由してのImageButtonコントロールにOnClientClick属性を追加する必要があり、修正するには

関連する問題