1

ImageButton.ImageUrl を呼び出せないのはなぜですか??

デフォルト.aspx:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

    <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="Test1.jpg" CommandName="Delete" OnCommand="ImageButton_Command" />



 </asp:Content>

Default.aspx.cs:

void ImageButton_Command(object sender, CommandEventArgs e)  
      {  
       string name = ***ImageButton1.ImageUrl***; //(Error)  

}

4

1 に答える 1

0

このコントロールに提供されたコードが認識されない理由はありません。.aspxファイルとファイルの不一致である可能性があり.aspx.csます (前者は後者と適切に関連していますか?)、または単にビルドの問題である可能性があります。完全にクリーンアップして再構築しましたか?

現在の状況でこれが発生している理由に関係なく、解決策は次のとおりです。

protected void ImageButton_Command(object sender, CommandEventArgs e) {
  var button = sender as ImageButton;
  if (button != null) {
    string name = button.ImageUrl;
  }
}

ここで null チェックを行うことが重要です。技術的には、このイベント ハンドラーは、イベントを発生させるためにサブスクライブされたボタン以外の何かによって呼び出される可能性がありますが、そうであってはなりません

于 2013-02-18T10:57:31.227 に答える