我用一个GridView来显示某目录下的所有文件,GridView中有一个删除按钮,当我点删除时为什么得不到该行的值?代码如下:Response.Write(GridView1.DataKeys[e.RowIndex].Values.ToString());
解决方案 »
- GridView如何设置列宽?
- 求一个JQUERY插件(或者实现的方法)
- Gridview控件结合 ModalPopupExtender 问题
- JS小问题
- 刚了解UML,有个小问题:比如重载方法ExecuteReader有不同参数,这个怎么表示?
- 【下載文件】
- 帮帮小虾,检索数据库表格表头问题
- 怎么从SQL中读出数据,并赋值给一个数,与textbox中的数相加??
- qq密码
- 100分求提供asp.net(vb.net)源码下载的网址!或者asp.net(vb.net)做新闻系统,留言本等实例的网址!
- 对FCKeditor 的HTML在线编辑器进行封装(开源自定义控件二)
- GridView数据源是某目录下的所有文件名,如何设置DataKeyNames??
response.write(gv.datakeys[e.rowindex].value.tostring());
不用gridveiw1,用gridview试试
GridView1.DataSource = groups;
GridView1.DataBind();
汗
你在 前边 gridview属性里 把datakeynames填上
没有做过文件方面 的,不知道要在DataKeyNames里填什么....兄弟请指教一下...
也可以点gridview右上角的智能图标,在gridview属性页中修改DataKeyName
DataKeyNames填gridview中要绑定的字段
这个我知道,我现在在数据源是某个目录下的所有文件的路径,GridView绑定代码如下:
string[] groups = Directory.GetFiles(s); //s为文件路径
GridView1.DataSource = groups;
GridView1.DataBind();我现在是不知道要在DataKeyNames里写什么....
到GridView的属性面板中,打到DataKeyNames项,点击后面的"..."按钮.在弹出的框中写进字段名就行了.
如要设ID列为DataKeyNames中的一员.直接输入ID.然后OK就行了.
如果想输入多列也行,每输入一个列名,回车.
能得到吗?
应该是e.Row.RowIndex吧.
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%#Eval("sDirectoyr") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lbEdit" runat="server" CommandName="Delete" Text="编辑"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
后台CS代码protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string[] group = Directory.GetFiles(@"c:\");
DataTable dt = new DataTable();
dt.Columns.Add("Group");
dt.Columns.Add("sDirectoyr");
for (int i = 0; i < group.Length; i++)
{
dt.Rows.Add(new object[] { i, group[i] });
}
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
} protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
GridView gv = (GridView)sender;
Response.Write(gv.DataKeys[e.RowIndex].Value.ToString());
}
建表的时候只建一列就可以了.就能得到文件路径了