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>

默认.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;
  }
}

在这里进行空检查很重要,因为从技术上讲,这个事件处理程序可以被订阅的按钮以外的东西调用以引发事件,即使情况应该如此。

于 2013-02-18T10:57:31.227 回答