2013-02-18 46 views
1

为什么我不能调用ImageButton.ImageUrl?为什么图像按钮ID不能识别

Default.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) 

}

+1

错误说的是什么? – nunespascal 2013-02-18 10:55:45

+0

CS0122:Default2.ImageButton_Command(Object,System.Web.UI.WebControls.CommandEventArgs),因为安全性不可访问 – 2013-02-18 11:02:22

回答

0

有没有从提供用于该控制的代码理由不被识别;它可能是你的.aspx.aspx.cs文件(前者与后者是否正确关联)之间的差异?或者它可能只是一个构建问题,你是否完成了一次彻底的清理和重建?

一种解决方案,不管为什么发生这种情况对于您目前的情况可能是这样的:

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

在这里做的空校验,因为技术上这个事件处理程序可以通过比其他的东西被称为是非常重要的按钮(s)订阅提高事件,即使这个应该不是是这种情况。

+0

CS0122:Default2.ImageButton_Command(Object,System.Web.UI.WebControls.CommandEventArgs)因为安全性不可访问 – 2013-02-18 11:06:24

+0

尝试制作事件处理程序方法'public'或'protected'。 – 2013-02-18 11:09:56

+0

现在感谢它的工作;) – 2013-02-18 13:04:53

相关问题