第一:
我这样在CS中生成一个Table, 那么Table的样式怎么写,,我不会,希望大家提供, 高度,宽度,等等!!感谢!!
第二:
我给link一个单击事件
/**////取得目录名
FileName = dir.Name;
likbutton.Click += new EventHandler(DisPlay);//同时在这里想传给DisPlay方法一个filename,不知道这怎么传!
public void DisPlay(object sender, EventArgs e)
{
string delFile = Server.MapPath("~/databack/") + "\\FileName";
File.Delete(delFile);
}
在线等....
22 个解决方案
#1
接分!
#2
谁帮帮我! UP
#3
table.attribute["class"]="" 呗
#4
高度宽度等样式可以设置css,是.attribute("属性")添加
#5
filename可用session传递
#6
Table tableDirInfo = new Table();
tableDirInfo.Style.Add(HtmlTextWriterStyle.Width, "60px");
tableDirInfo.Style.Add(HtmlTextWriterStyle.Height, "60px");
#7
好像设置了没反应啊, 如果我想要这个Table 加上竖滚动条,怎么弄,是不是把高度定小就自动会有?
#8
问题二还没想到处理方法 你上google搜索下吧
#9
滚动条的话 就要使用其他控件 不是Table.你自己搜下吧 。我也好久没这样用过了。挺麻烦的
#10
找不到,谢谢你了,我在看看吧,我用一个隐藏域可以删除但是,它传的值是循环的,所以不是当前自己想删除的那行,唉,,,!
#11
参数可以试试属性传递。
protected void Page_Load(object sender, EventArgs e)
{
likbutton.Attributes["parm1"] = "Hello World";
}
public void DisPlay(object sender, EventArgs e)
{
Button lb = (Button)sender;
Response.Write(lb.Attributes["parm1"]);
}
#12
你的 Table tableDirInfo = new Table(); 要放在页面的<div> 或是其它标签里面,才可以在页面显示出来的
#13
cs 里面 做 stringbuilder 的拼接啊
css只要写在 table 的 class=‘’里面
css样式表在 aspx 页面 导入
就行了
css只要写在 table 的 class=‘’里面
css样式表在 aspx 页面 导入
就行了
#14
可以用Command和CommandArgument传递,不要用Click
#15
问题一:
以上只是一个简单的样式设置,只供参考,楼主根据需要自己改。
问题二、可参考11楼的方法用Attributes来实现。
/// 设置表样式
/// </summary>
/// <param name="table"></param>
private void SetTableStyle(Table table)
{
table.Width = Unit.Percentage(100);
table.CellPadding = 5;
table.CellSpacing = 0;
table.Style.Add("border-collapse", "collapse");
table.BorderWidth = Unit.Pixel(1);
table.BorderColor = Color.DarkGray;
}
/// <summary>
/// 设置行样式
/// </summary>
/// <param name="row"></param>
private void SetTableRowStyle(TableRow row)
{
row.BackColor = Color.Gainsboro;
row.Height = Unit.Pixel(23);
//row.Width = Unit.Percentage(100);
row.Font.Size = FontUnit.Point(10);
row.Font.Bold = true;
}
/// <summary>
/// 设置单元格样式
/// </summary>
/// <param name="cell"></param>
private void SetTableCellStyle(TableCell cell)
{
//cell.Width = Unit.Percentage(98);
cell.BorderWidth = Unit.Pixel(1);
}
以上只是一个简单的样式设置,只供参考,楼主根据需要自己改。
问题二、可参考11楼的方法用Attributes来实现。
#16
还是不行,现在我需要解决两个问题,第一Table有竖向滚动条,第二委托是怎样传值的? --、
#17
第一,Table要加竖滚动条,可以用div将table包起来,给div加竖滚动条。
用如下属性overflow-y:scroll
第二,likbutton.Click += new EventHandler(DisPlay);
你已经限定用EventHandler即包括(object 和 eventargs)两个参数的委托了,
请问,你的filename存放到哪里?只能让object和eventargs两个参数对象携带你想传入的参数来考虑。所以你可以用attributes来存放参数比较方便,否则你要自定义委托。
用如下属性overflow-y:scroll
第二,likbutton.Click += new EventHandler(DisPlay);
你已经限定用EventHandler即包括(object 和 eventargs)两个参数的委托了,
请问,你的filename存放到哪里?只能让object和eventargs两个参数对象携带你想传入的参数来考虑。所以你可以用attributes来存放参数比较方便,否则你要自定义委托。
#18
你好laolaolai ! 请看我这个方法的代码,目的是要循环出项目文件夹里的数据库文件,从而获取它们的大小,修改时间等一系列信息, 我添加了一行删除的功能,如果我点击删除那么一行及文件夹里所对应的文件将删掉,那么我触发了linkbutton点击事件,通过传入唯一的Filename来进行删除, 可我现在只能用隐藏域获取Filename再删除时取到Filename, 因为是循环文件夹里的文件,所以我每次删除的都是最后一个文件,我不知道怎么才能弄了?望你帮我看看。
/// 获取文件列表
/// </summary>
private void GetFileList()
{
string strCurDir,FileName,FileExt;
/**////文件大小
long FileSize;
/**////最后修改时间;
DateTime FileModify;
/**////初始化
if(!IsPostBack)
{
/**////初始化时,默认为当前页面所在的目录
strCurDir = Server.MapPath("~/databack/");
lblCurDir.Text = strCurDir;
txtCurDir.Text = strCurDir;
}
else
{
strCurDir = txtCurDir.Text;
txtCurDir.Text = strCurDir;
lblCurDir.Text = strCurDir;
}
FileInfo fi;
DirectoryInfo dir;
TableCell td;
TableRow tr;
Table tableDirInfo = new Table();
tableDirInfo.BorderColor = Color.DarkGray;
tableDirInfo.Height = 50;
tr = new TableRow();
tableDirInfo.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid;
tableDirInfo.Width = 500;
tr.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid;
td = new TableCell();
td.Controls.Add(new LiteralControl("文件名"));
tr.Cells.Add(td);
td = new TableCell();
td.Controls.Add(new LiteralControl("文件类型"));
tr.Cells.Add(td);
td = new TableCell();
td.Controls.Add(new LiteralControl("文件大小"));
tr.Cells.Add(td);
td = new TableCell();
td.Controls.Add(new LiteralControl("最后修改时间"));
tr.Cells.Add(td);
td = new TableCell();
td.Controls.Add(new LiteralControl("操作"));
tr.Cells.Add(td);
tableDirInfo.Rows.Add(tr);
this.form1.Controls.Add(tableDirInfo);
/**////针对当前目录建立目录引用对象
DirectoryInfo dirInfo = new DirectoryInfo(txtCurDir.Text);
/**////循环判断当前目录下的文件和目录
foreach(FileSystemInfo fsi in dirInfo.GetFileSystemInfos())
{
FileName = "";
FileExt = "";
FileSize = 0;
/**////如果是文件
if(fsi is FileInfo)
{
fi = (FileInfo)fsi;
/**////取得文件名
FileName = fi.Name;
this.txtend.Text = fi.Name;
/**////取得文件的扩展名
FileExt = fi.Extension;
/**////取得文件的大小
FileSize =fi.Length/1024;
/**////取得文件的最后修改时间
FileModify = fi.LastWriteTime;
}
/**////否则是目录
else
{
dir = (DirectoryInfo)fsi;
/**////取得目录名
FileName = dir.Name;
/**////取得目录的最后修改时间
FileModify = dir.LastWriteTime;
/**////设置文件的扩展名为"文件夹"
FileExt = "文件夹";
}
/**////动态添加表格内容
tr = new TableRow();
td = new TableCell();
td.Controls.Add(new LiteralControl(FileName));
tr.Cells.Add(td);
td = new TableCell();
td.Controls.Add(new LiteralControl(FileExt));
tr.Cells.Add(td);
td = new TableCell();
td.Controls.Add(new LiteralControl(FileSize.ToString()+"KB"));
tr.Cells.Add(td);
td = new TableCell();{}
td.Controls.Add(new LiteralControl(FileModify.ToString("yyyy-MM-dd hh:mm:ss")));
tr.Cells.Add(td);
LinkButton likbutton = new LinkButton();
likbutton.Click += new EventHandler(DisPlay);
likbutton.Text = "删除";
td = new TableCell();
td.Controls.Add(likbutton);
tr.Cells.Add(td);
tableDirInfo.Rows.Add(tr);
this.form1.Controls.Add(tableDirInfo);
}
}
#19
你的思路是这样吗?
你在服务器提供一个文件夹路径,客户端可以删除里面的文件?
如果是这样(暂不考虑文件操作权限问题,你得考虑其安全性)
我先说一下我的思路,只供参考。
你要完成如下功能:
第一、获取给定虚拟目录的文件信息集合
第二、将集合以通过拼写htmltable展现给用户,并提供删除功能。
所以你要传给LinkButton按钮要删除的文件的物理的“绝对路径”全名,而不仅仅是文件名。
第三、用户删除时,你要做如下两步操作
1、删除服务器路径下的实际物理文件
2、重新绘制htmlTable(或删掉tablerow)以同步文件列表
注意其执行顺序,要先删除实际文件再重新绘制。
而你目前碰到的问题是,如何将全路径文件名传给Display(object sender,eventarg e)方法,
不知道我理解的对不对?
那么楼上已经有兄弟给出串参方法了,我在重复一遍。
第一步:传参
LinkButton likbutton = new LinkButton();
string fileName = "C:\test.txt";
likbutton.Attributes.Add("fullFileName", fileName);likbutton.Click += new EventHandler(DisPlay);
第二步:接受参数
public void Display(object sender,eventarg e)
{
LinkButton likbutton = sender as LinkButton;
string fullFileName = likbutton.Attributes["fullFileName"]; if(File.Exists(fullFileName))
{
File.Delete(fullFileName);
ReDrawTable();//重新绘制Table,其实你可以使用现成的服务器控件。
}
}
我没有实际操作过,只是写了下思路,对与错还需要兄弟你来验证。
你在服务器提供一个文件夹路径,客户端可以删除里面的文件?
如果是这样(暂不考虑文件操作权限问题,你得考虑其安全性)
我先说一下我的思路,只供参考。
你要完成如下功能:
第一、获取给定虚拟目录的文件信息集合
第二、将集合以通过拼写htmltable展现给用户,并提供删除功能。
所以你要传给LinkButton按钮要删除的文件的物理的“绝对路径”全名,而不仅仅是文件名。
第三、用户删除时,你要做如下两步操作
1、删除服务器路径下的实际物理文件
2、重新绘制htmlTable(或删掉tablerow)以同步文件列表
注意其执行顺序,要先删除实际文件再重新绘制。
而你目前碰到的问题是,如何将全路径文件名传给Display(object sender,eventarg e)方法,
不知道我理解的对不对?
那么楼上已经有兄弟给出串参方法了,我在重复一遍。
第一步:传参
LinkButton likbutton = new LinkButton();
string fileName = "C:\test.txt";
likbutton.Attributes.Add("fullFileName", fileName);likbutton.Click += new EventHandler(DisPlay);
第二步:接受参数
public void Display(object sender,eventarg e)
{
LinkButton likbutton = sender as LinkButton;
string fullFileName = likbutton.Attributes["fullFileName"]; if(File.Exists(fullFileName))
{
File.Delete(fullFileName);
ReDrawTable();//重新绘制Table,其实你可以使用现成的服务器控件。
}
}
我没有实际操作过,只是写了下思路,对与错还需要兄弟你来验证。
#20
注意:每一行都对应一个LinkButton,每一个LinkButton对对应这一个实际的文件全路径名。
#21
兄弟,完全正确!功能实现了. 谢谢你的帮助, 你很认真啊,有机会交个朋友呵呵。真得感谢!!!!!!11
#22
再次重谢,分数不多,对不起。。。。
#1
接分!
#2
谁帮帮我! UP
#3
table.attribute["class"]="" 呗
#4
高度宽度等样式可以设置css,是.attribute("属性")添加
#5
filename可用session传递
#6
Table tableDirInfo = new Table();
tableDirInfo.Style.Add(HtmlTextWriterStyle.Width, "60px");
tableDirInfo.Style.Add(HtmlTextWriterStyle.Height, "60px");
#7
好像设置了没反应啊, 如果我想要这个Table 加上竖滚动条,怎么弄,是不是把高度定小就自动会有?
#8
问题二还没想到处理方法 你上google搜索下吧
#9
滚动条的话 就要使用其他控件 不是Table.你自己搜下吧 。我也好久没这样用过了。挺麻烦的
#10
找不到,谢谢你了,我在看看吧,我用一个隐藏域可以删除但是,它传的值是循环的,所以不是当前自己想删除的那行,唉,,,!
#11
参数可以试试属性传递。
protected void Page_Load(object sender, EventArgs e)
{
likbutton.Attributes["parm1"] = "Hello World";
}
public void DisPlay(object sender, EventArgs e)
{
Button lb = (Button)sender;
Response.Write(lb.Attributes["parm1"]);
}
#12
你的 Table tableDirInfo = new Table(); 要放在页面的<div> 或是其它标签里面,才可以在页面显示出来的
#13
cs 里面 做 stringbuilder 的拼接啊
css只要写在 table 的 class=‘’里面
css样式表在 aspx 页面 导入
就行了
css只要写在 table 的 class=‘’里面
css样式表在 aspx 页面 导入
就行了
#14
可以用Command和CommandArgument传递,不要用Click
#15
问题一:
以上只是一个简单的样式设置,只供参考,楼主根据需要自己改。
问题二、可参考11楼的方法用Attributes来实现。
/// 设置表样式
/// </summary>
/// <param name="table"></param>
private void SetTableStyle(Table table)
{
table.Width = Unit.Percentage(100);
table.CellPadding = 5;
table.CellSpacing = 0;
table.Style.Add("border-collapse", "collapse");
table.BorderWidth = Unit.Pixel(1);
table.BorderColor = Color.DarkGray;
}
/// <summary>
/// 设置行样式
/// </summary>
/// <param name="row"></param>
private void SetTableRowStyle(TableRow row)
{
row.BackColor = Color.Gainsboro;
row.Height = Unit.Pixel(23);
//row.Width = Unit.Percentage(100);
row.Font.Size = FontUnit.Point(10);
row.Font.Bold = true;
}
/// <summary>
/// 设置单元格样式
/// </summary>
/// <param name="cell"></param>
private void SetTableCellStyle(TableCell cell)
{
//cell.Width = Unit.Percentage(98);
cell.BorderWidth = Unit.Pixel(1);
}
以上只是一个简单的样式设置,只供参考,楼主根据需要自己改。
问题二、可参考11楼的方法用Attributes来实现。
#16
还是不行,现在我需要解决两个问题,第一Table有竖向滚动条,第二委托是怎样传值的? --、
#17
第一,Table要加竖滚动条,可以用div将table包起来,给div加竖滚动条。
用如下属性overflow-y:scroll
第二,likbutton.Click += new EventHandler(DisPlay);
你已经限定用EventHandler即包括(object 和 eventargs)两个参数的委托了,
请问,你的filename存放到哪里?只能让object和eventargs两个参数对象携带你想传入的参数来考虑。所以你可以用attributes来存放参数比较方便,否则你要自定义委托。
用如下属性overflow-y:scroll
第二,likbutton.Click += new EventHandler(DisPlay);
你已经限定用EventHandler即包括(object 和 eventargs)两个参数的委托了,
请问,你的filename存放到哪里?只能让object和eventargs两个参数对象携带你想传入的参数来考虑。所以你可以用attributes来存放参数比较方便,否则你要自定义委托。
#18
你好laolaolai ! 请看我这个方法的代码,目的是要循环出项目文件夹里的数据库文件,从而获取它们的大小,修改时间等一系列信息, 我添加了一行删除的功能,如果我点击删除那么一行及文件夹里所对应的文件将删掉,那么我触发了linkbutton点击事件,通过传入唯一的Filename来进行删除, 可我现在只能用隐藏域获取Filename再删除时取到Filename, 因为是循环文件夹里的文件,所以我每次删除的都是最后一个文件,我不知道怎么才能弄了?望你帮我看看。
/// 获取文件列表
/// </summary>
private void GetFileList()
{
string strCurDir,FileName,FileExt;
/**////文件大小
long FileSize;
/**////最后修改时间;
DateTime FileModify;
/**////初始化
if(!IsPostBack)
{
/**////初始化时,默认为当前页面所在的目录
strCurDir = Server.MapPath("~/databack/");
lblCurDir.Text = strCurDir;
txtCurDir.Text = strCurDir;
}
else
{
strCurDir = txtCurDir.Text;
txtCurDir.Text = strCurDir;
lblCurDir.Text = strCurDir;
}
FileInfo fi;
DirectoryInfo dir;
TableCell td;
TableRow tr;
Table tableDirInfo = new Table();
tableDirInfo.BorderColor = Color.DarkGray;
tableDirInfo.Height = 50;
tr = new TableRow();
tableDirInfo.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid;
tableDirInfo.Width = 500;
tr.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid;
td = new TableCell();
td.Controls.Add(new LiteralControl("文件名"));
tr.Cells.Add(td);
td = new TableCell();
td.Controls.Add(new LiteralControl("文件类型"));
tr.Cells.Add(td);
td = new TableCell();
td.Controls.Add(new LiteralControl("文件大小"));
tr.Cells.Add(td);
td = new TableCell();
td.Controls.Add(new LiteralControl("最后修改时间"));
tr.Cells.Add(td);
td = new TableCell();
td.Controls.Add(new LiteralControl("操作"));
tr.Cells.Add(td);
tableDirInfo.Rows.Add(tr);
this.form1.Controls.Add(tableDirInfo);
/**////针对当前目录建立目录引用对象
DirectoryInfo dirInfo = new DirectoryInfo(txtCurDir.Text);
/**////循环判断当前目录下的文件和目录
foreach(FileSystemInfo fsi in dirInfo.GetFileSystemInfos())
{
FileName = "";
FileExt = "";
FileSize = 0;
/**////如果是文件
if(fsi is FileInfo)
{
fi = (FileInfo)fsi;
/**////取得文件名
FileName = fi.Name;
this.txtend.Text = fi.Name;
/**////取得文件的扩展名
FileExt = fi.Extension;
/**////取得文件的大小
FileSize =fi.Length/1024;
/**////取得文件的最后修改时间
FileModify = fi.LastWriteTime;
}
/**////否则是目录
else
{
dir = (DirectoryInfo)fsi;
/**////取得目录名
FileName = dir.Name;
/**////取得目录的最后修改时间
FileModify = dir.LastWriteTime;
/**////设置文件的扩展名为"文件夹"
FileExt = "文件夹";
}
/**////动态添加表格内容
tr = new TableRow();
td = new TableCell();
td.Controls.Add(new LiteralControl(FileName));
tr.Cells.Add(td);
td = new TableCell();
td.Controls.Add(new LiteralControl(FileExt));
tr.Cells.Add(td);
td = new TableCell();
td.Controls.Add(new LiteralControl(FileSize.ToString()+"KB"));
tr.Cells.Add(td);
td = new TableCell();{}
td.Controls.Add(new LiteralControl(FileModify.ToString("yyyy-MM-dd hh:mm:ss")));
tr.Cells.Add(td);
LinkButton likbutton = new LinkButton();
likbutton.Click += new EventHandler(DisPlay);
likbutton.Text = "删除";
td = new TableCell();
td.Controls.Add(likbutton);
tr.Cells.Add(td);
tableDirInfo.Rows.Add(tr);
this.form1.Controls.Add(tableDirInfo);
}
}
#19
你的思路是这样吗?
你在服务器提供一个文件夹路径,客户端可以删除里面的文件?
如果是这样(暂不考虑文件操作权限问题,你得考虑其安全性)
我先说一下我的思路,只供参考。
你要完成如下功能:
第一、获取给定虚拟目录的文件信息集合
第二、将集合以通过拼写htmltable展现给用户,并提供删除功能。
所以你要传给LinkButton按钮要删除的文件的物理的“绝对路径”全名,而不仅仅是文件名。
第三、用户删除时,你要做如下两步操作
1、删除服务器路径下的实际物理文件
2、重新绘制htmlTable(或删掉tablerow)以同步文件列表
注意其执行顺序,要先删除实际文件再重新绘制。
而你目前碰到的问题是,如何将全路径文件名传给Display(object sender,eventarg e)方法,
不知道我理解的对不对?
那么楼上已经有兄弟给出串参方法了,我在重复一遍。
第一步:传参
LinkButton likbutton = new LinkButton();
string fileName = "C:\test.txt";
likbutton.Attributes.Add("fullFileName", fileName);likbutton.Click += new EventHandler(DisPlay);
第二步:接受参数
public void Display(object sender,eventarg e)
{
LinkButton likbutton = sender as LinkButton;
string fullFileName = likbutton.Attributes["fullFileName"]; if(File.Exists(fullFileName))
{
File.Delete(fullFileName);
ReDrawTable();//重新绘制Table,其实你可以使用现成的服务器控件。
}
}
我没有实际操作过,只是写了下思路,对与错还需要兄弟你来验证。
你在服务器提供一个文件夹路径,客户端可以删除里面的文件?
如果是这样(暂不考虑文件操作权限问题,你得考虑其安全性)
我先说一下我的思路,只供参考。
你要完成如下功能:
第一、获取给定虚拟目录的文件信息集合
第二、将集合以通过拼写htmltable展现给用户,并提供删除功能。
所以你要传给LinkButton按钮要删除的文件的物理的“绝对路径”全名,而不仅仅是文件名。
第三、用户删除时,你要做如下两步操作
1、删除服务器路径下的实际物理文件
2、重新绘制htmlTable(或删掉tablerow)以同步文件列表
注意其执行顺序,要先删除实际文件再重新绘制。
而你目前碰到的问题是,如何将全路径文件名传给Display(object sender,eventarg e)方法,
不知道我理解的对不对?
那么楼上已经有兄弟给出串参方法了,我在重复一遍。
第一步:传参
LinkButton likbutton = new LinkButton();
string fileName = "C:\test.txt";
likbutton.Attributes.Add("fullFileName", fileName);likbutton.Click += new EventHandler(DisPlay);
第二步:接受参数
public void Display(object sender,eventarg e)
{
LinkButton likbutton = sender as LinkButton;
string fullFileName = likbutton.Attributes["fullFileName"]; if(File.Exists(fullFileName))
{
File.Delete(fullFileName);
ReDrawTable();//重新绘制Table,其实你可以使用现成的服务器控件。
}
}
我没有实际操作过,只是写了下思路,对与错还需要兄弟你来验证。
#20
注意:每一行都对应一个LinkButton,每一个LinkButton对对应这一个实际的文件全路径名。
#21
兄弟,完全正确!功能实现了. 谢谢你的帮助, 你很认真啊,有机会交个朋友呵呵。真得感谢!!!!!!11
#22
再次重谢,分数不多,对不起。。。。