asp.net自定义控件与事件
我定义一个显示图片的控件,控件中有一个图片和删除按钮,并定义了属性(imgURL)和事件(delImage),引用控件时我把控件放到repeater中,然后我想删除图片时,总是提示错误,请高手耐心一点,帮帮我吧,纠结好几天了,谢谢!请看代码:(字数限制,删余部分系统自动添加的代码)
控件ascx--------
<asp:Panel ID="panel1" runat="server">
<br />
<asp:Image ID="img1" runat="server" />
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="delimg"/>
</asp:Panel>
ascx.cs-----------
protected void Page_Load(object sender, EventArgs e)
{
img1.ImageUrl = imgurl;
}
private string imgurl;
public string imgURL
{
get { return imgurl; }
set { imgurl = value; }
}
public void delimg(object sender, EventArgs e)
{
OnClickdelImage(e);
}
public delegate void DelImg(object sender,EventArgs e);
public event DelImg delImage;
public void OnClickdelImage(EventArgs s)
{
if(delImage!=null)
delImage(this, s);
}
引用aspx-------------------------
<%@ Register Src="~/WebUserControl.ascx" TagName="WebUserControl" TagPrefix="UC" %>
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="repeater1" runat="server">
<ItemTemplate>
<tr><td>
<UC:WebUserControl ID="wuc1" runat="server" imgURL='<%# Bind("imgurl") %>' OndelImage="tsdel"/>
</td></tr>
</ItemTemplate>
<HeaderTemplate>
<table border="0" cellpadding="0" cellspacing="0"><tr><td>图片连接</td></tr>
</HeaderTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>
---------------------------
引用aspx.cs
---------------------------
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bindimg();
}
}
public void bindimg()
{
DirectoryInfo dr = new DirectoryInfo(Server.MapPath("~/image/"));
DataTable dt = new DataTable();
dt.Columns.Add("imgurl", typeof(string));
foreach(FileInfo f in dr.GetFiles("*.gif"))
{
DataRow subdr = dt.NewRow();
subdr["imgurl"]=Server.MapPath("~/image/"+f.Name);
dt.Rows.Add(subdr);
}
repeater1.DataSource = dt;
repeater1.DataBind();
}
public void tsdel(object sender, EventArgs e)
{
WebUserControl wuc=(WebUserControl)sender;
if (File.Exists(wuc.imgURL))
{
File.Delete(wuc.imgURL);
}
}
} --------------------编程问答-------------------- 参考相关:
http://www.cnblogs.com/insus/archive/2012/03/08/2385223.html
用户自定义事件:
http://www.cnblogs.com/insus/archive/2011/11/18/2253605.html
补充:.NET技术 , ASP.NET