已解决

【精华】asp.net相册作业的问题已解决

学员:ntwuhaohao提问时间:2008-09-23 09:11:59

我自定义了两个WEB用户控件,把它拖到asp.net页面中,然后在page_load中编码,但是没有刚才拖入的用户控件,我看了下源码,该引入的命名空间都引入了。

采纳为答案

回答人:polarstar (.NET学习顾问)回答时间:2008-09-23 19:37:24

可能你的ImageButtons控件里面的代码有错误,先不要把ImageButtons控件加到页面中,编译一下看能不能通过,如果ImageButtons有错误,先把错误排除掉。看你贴的代码不好发现错误,要是还解决不了就发份代码过来看看吧:zhyuanshan@163.com

学员对该答案的评价 非常满意

其他回答

回答人:amandag(高歌 .NET学习顾问)回答时间:2008-09-23 10:41:54
贴一下你的页面代码和后台代码
回答人:ntwuhaohao回答时间:2008-09-23 15:24:57
//ImageButtons用户控件后台代码
public partial class ImageButtons : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
public List<string> Images
{
get { return ViewState["Images"] == null ? null : ViewState["Images"] as List<string>; }
set { ViewState["Images"] = value;
BulidImagesButtons(value);
}
}
private void BulidImagesButtons(List<string> images)
{
foreach (string img in images)
{
ImageButton btn = new ImageButton();
btn.ImageUrl = ConfigurationManager.AppSettings["ImageFolder"] + img;
btn.CommandName = "ImageButtonClick";
btn.CommandArgument = img;
btn.Command += new CommandEventHandler(btn_Command);
btn.Attributes["onclick"] = "return windows.confirm('真的删除吗?');";
this.Controls.Add(btn);
}
}
void btn_Command(object sender, CommandEventArgs e)
{
File.Delete(Server.MapPath((sender as ImageButton).ImageUrl));
this.Controls.Remove(sender as ImageButton);
}
}
//删除页,前台代码
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="delete.aspx.cs" Inherits="delete" Title="Untitled Page" %>
<%@ Register Src="ImageButtons.ascx" TagName="ImageButtons" TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div class="black">
<div class="black_header">删除图片
</div>
</div>
<uc1:ImageButtons ID="ImageButtons1" runat="server" />
</asp:Content>
//删除页后台代码
public partial class delete : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string imagefolder = Server.MapPath(ConfigurationManager.AppSettings["ImageFolder"]);
..............................................
}
private ImageFileOperator oper = new ImageFileOperator();
}
上面省略号中应对用户控件编码,但现在显示不出来,提示ImageButtons不是已知无素,原因可能是网站中存在编译错误。
回答人:amandag(高歌 .NET学习顾问)回答时间:2008-09-23 21:30:11
同上,先看ImageButtons控件本身是否能编译通过