private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!IsPostBack)
{
this.LoadData(id);
}
}
private void LoadData()
{
//省略一部分代码,会从数据库中取值,把一个有关附件的字段的值取出来赋给下面,FU_Fj是附件的字段
Fj_Manage(row["Fu_fj"].ToString().Trim());//管理附件
}
private void Fj_Manage(string Fj_String)
{
if (Fj_String.Trim()!="")
{
string[] Fj_Array=Fj_String.Trim().Split(",".ToCharArray());
//string fj_str="",zh="";
int i=0;
foreach(string fj_str in Fj_Array)
{
i=i+1;
System.Web.UI.WebControls.HyperLink Link=new System.Web.UI.WebControls.HyperLink();
Link.ID="Link"+ i;
Link.Text="附件"+i;
Link.Target="_blank";
Link.NavigateUrl=fj_str;
this.Fj_Panel.Controls.Add(Link); System.Web.UI.WebControls.Label Lb=new System.Web.UI.WebControls.Label();
Lb.Text=" ";
this.Fj_Panel.Controls.Add(Lb); LinkButton LDel=new LinkButton();
LDel.ID="LDel"+i.ToString();
LDel.Click += new System.EventHandler(LDel_Click);
LDel.CommandArgument=i.ToString();
LDel.CommandName=fj_str.Trim();
LDel.Text="删除".Trim()+i;
this.Fj_Panel.Controls.Add(LDel);
Lb=new System.Web.UI.WebControls.Label();
Lb.Text=" ";
this.Fj_Panel.Controls.Add(Lb);
}
}
}
private void LDel_Click(object sender,System.EventArgs e)
{
string typeid=((LinkButton)sender).CommandArgument.ToString();
string typename=((LinkButton)sender).CommandName.ToString();
System.IO.File.Delete(Server.MapPath(typename));
if(typeid=="1")
{
this.Fu_fjTxt.Text=this.Fu_fjTxt.Text.Replace(typename,"");
}
else
{
this.Fu_fjTxt.Text=this.Fu_fjTxt.Text.Replace("," + typename ,"");
}
if(this.Fu_fjTxt.Text==",")
{
this.Fu_fjTxt.Text="";
}
if(this.Fu_fjTxt.Text.Substring(0,1)==",")
{
this.Fu_fjTxt.Text=this.Fu_fjTxt.Text.Remove(0,1);
}
}
//这段代码的意思就是对上传的附件进行一个管理,显示出来以后对他进行预览和删除,现在不能执行LDel_Click这个语句,我用调试的话是直接到了page_load那儿了
{
// 在此处放置用户代码以初始化页面
if (!IsPostBack)
{
this.LoadData(id);
}
}
private void LoadData()
{
//省略一部分代码,会从数据库中取值,把一个有关附件的字段的值取出来赋给下面,FU_Fj是附件的字段
Fj_Manage(row["Fu_fj"].ToString().Trim());//管理附件
}
private void Fj_Manage(string Fj_String)
{
if (Fj_String.Trim()!="")
{
string[] Fj_Array=Fj_String.Trim().Split(",".ToCharArray());
//string fj_str="",zh="";
int i=0;
foreach(string fj_str in Fj_Array)
{
i=i+1;
System.Web.UI.WebControls.HyperLink Link=new System.Web.UI.WebControls.HyperLink();
Link.ID="Link"+ i;
Link.Text="附件"+i;
Link.Target="_blank";
Link.NavigateUrl=fj_str;
this.Fj_Panel.Controls.Add(Link); System.Web.UI.WebControls.Label Lb=new System.Web.UI.WebControls.Label();
Lb.Text=" ";
this.Fj_Panel.Controls.Add(Lb); LinkButton LDel=new LinkButton();
LDel.ID="LDel"+i.ToString();
LDel.Click += new System.EventHandler(LDel_Click);
LDel.CommandArgument=i.ToString();
LDel.CommandName=fj_str.Trim();
LDel.Text="删除".Trim()+i;
this.Fj_Panel.Controls.Add(LDel);
Lb=new System.Web.UI.WebControls.Label();
Lb.Text=" ";
this.Fj_Panel.Controls.Add(Lb);
}
}
}
private void LDel_Click(object sender,System.EventArgs e)
{
string typeid=((LinkButton)sender).CommandArgument.ToString();
string typename=((LinkButton)sender).CommandName.ToString();
System.IO.File.Delete(Server.MapPath(typename));
if(typeid=="1")
{
this.Fu_fjTxt.Text=this.Fu_fjTxt.Text.Replace(typename,"");
}
else
{
this.Fu_fjTxt.Text=this.Fu_fjTxt.Text.Replace("," + typename ,"");
}
if(this.Fu_fjTxt.Text==",")
{
this.Fu_fjTxt.Text="";
}
if(this.Fu_fjTxt.Text.Substring(0,1)==",")
{
this.Fu_fjTxt.Text=this.Fu_fjTxt.Text.Remove(0,1);
}
}
//这段代码的意思就是对上传的附件进行一个管理,显示出来以后对他进行预览和删除,现在不能执行LDel_Click这个语句,我用调试的话是直接到了page_load那儿了
解决方案 »
- asp.net在包含有HTML代码的字符串里面提取汉字
- Systrm.Management.ManagementClass使用时错误
- 根据上级页面显示相应样式
- Net正则表达式问题,判断是否为中文(或英文)
- UTF-8的网页里点一个链接,那么地址栏里包含的中文是什么编码呢?
- datagrid 模板列问题???
- 异常处理:当连接不要上数据库时,如何处理?
- 是否.net自带的控件,例如webcontrol_treeview,datagrid...在客户端显示对浏览器有要求?(结帖率100%,在线等)
- 关于asp.net应用程序打包时怎样把sql server数据库一起打包??
- 如何使用DataView进行统计?
- vs2008新建项目,没有 Guidance Packages这个选项
- 全屏代码在win2000下显示不正常
?
{
this.LoadData();
}
}
是这样的
不过,像下面这样子也没问题啊。protected void Page_Load(object sender, EventArgs e)
{
Button btn = new Button();
btn.ID = "Button1";
btn.Text = "Damn";
btn.Click += new EventHandler(btn_Click); this.form1.Controls.Add(btn);
}void btn_Click(object sender, EventArgs e)
{
Response.Write("damn");
}
多为两种原因:
(前提是在Page_Init中创建的控件)
1:没有给ID;
2:事件之前又执行了绑定;
6楼可不可以根据我上面的代码给一个解决方案
那你叫服务器到哪里去找Btn的Click处理代码呢!