DataGrid中我只设置了一个模板列,里面的数据已经和数据库绑定,并且能够正常显示数据,其中一项是“编号”(Label1)
在模板列里我还有一个“编辑”按钮(LinkButton1),并且CommandName=cnEdit
我在DataGrid的ItemCommand中编辑事件如下:
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
...
if(e.CommandName=="cnEdit")
{
string 编号=((Label)e.Item.Cells[0].FindControl("Label1")).Text.Trim();
Response.Redirect("EditPage.aspx?no="+编号);
}
...
}
但我在调试是发现变量“编号”始终是"",也就是无法得到相应的Label的Text值,这是为什么呢?或者有其他方式获得它的值?
请各位师傅指点迷津~~万分感谢!
在模板列里我还有一个“编辑”按钮(LinkButton1),并且CommandName=cnEdit
我在DataGrid的ItemCommand中编辑事件如下:
private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
...
if(e.CommandName=="cnEdit")
{
string 编号=((Label)e.Item.Cells[0].FindControl("Label1")).Text.Trim();
Response.Redirect("EditPage.aspx?no="+编号);
}
...
}
但我在调试是发现变量“编号”始终是"",也就是无法得到相应的Label的Text值,这是为什么呢?或者有其他方式获得它的值?
请各位师傅指点迷津~~万分感谢!
解决方案 »
- 图片列表 随着滚动条的移动动态加载
- visual studio2008设计器问题
- 在 IHttpModule 初始化期间,只能将事件处理程序绑定到 HttpApplication 事件
- 点击按钮来模拟点击超链接,怎么实现。没有分了,只能发零分贴。
- 网站访问稍微人多一点就出现SQL Server 不存在或访问被拒绝。刷新几次就又行了
- 如何把该页面下的内容传到另一个页面下(session不知道有这功能没)
- 阅读器关闭时 MetaData 的尝试无效。
- cookie丢失的问题
- 关于Session时限的问题
- 考上北航研究生,庆祝一下!散分!
- 哪里有CSS样式的视频教程
- !!!Excel2003和Excel2000导数的问题
2.
试一下:
if(e.Item.ItemType!=ListItemType.Header&&e.Item.ItemType!=ListItemType.Footer)
{
if(e.CommandName=="cnEdit")
{
string 编号=((Label)e.Item.Cells[0].FindControl("Label1")).Text.Trim();
Response.Redirect("EditPage.aspx?no="+编号);
} }
你们说的方法我都试过了,好像还是不行啊...
<asp:Label id="Label1" runat="server" Visible="False"><%# DataBinder.Eval(Container.DataItem,"字段") %></asp:Label>
绑定数据的,是不是在后台获取Text值的时候会丢失值呢?
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<TABLE id="Table1" style="FONT-SIZE: 9pt" cellSpacing="0" cellPadding="3" width="100%" border="0">
<TR>
<TD colSpan="2"> <IMG height="12" src="" width="12">
<asp:LinkButton id="lbnDocName" runat="server" CommandName="cnDocName"><%# DataBinder.Eval(Container.DataItem,"FileTitle") %></asp:LinkButton>
<asp:Label id="lblFilePath" runat="server" Visible="False"><%# DataBinder.Eval(Container.DataItem,"FilePath") %></asp:Label></TD>
<TD width="20%">文档编号</TD>
<TD width="33%">
<asp:Label id="Label1" runat="server"><%# DataBinder.Eval(Container.DataItem,"FileNo")%></asp:Label></TD></TR> 这就是我要获得的文档编号
<TR>
<TD width="14%" bgColor="#a8d5f4">最后修改人</TD>
<TD width="33%"><%# DataBinder.Eval(Container.DataItem,"LastStaff")%><FONT face="宋体"></FONT></TD>
<TD bgColor="#a8d5f4">最后修改时间</TD>
<TD><%# DataBinder.Eval(Container.DataItem,"LastDate")%></TD></TR>
<TR>
<TD>描述</TD>
<TD colSpan="3"><%# DataBinder.Eval(Container.DataItem,"Memo")%><FONT face="宋体"></FONT></TD></TR>
<TR>
<TD bgColor="#a8d5f4">下载次数</TD>
<TD><%# DataBinder.Eval(Container.DataItem,"DownCount")%></TD>
<TD align=right colSpan=2>
<asp:LinkButton id="LinkButton1" runat="server" CommandName="cnEdit">编辑</asp:LinkButton> 编辑按钮
<asp:LinkButton id="lbnDocDelete" runat="server" CommandName="cnDelete">删除</asp:LinkButton> </TD></TR></TABLE>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
改为
<asp:Label id="Label1" runat="server"><%# this.dgrDocList.CurrentPageIndex * this.dgrDocList.PageSize + Container.ItemIndex + 1%>
asp:Label>归纳为自动编号的问题,不知道有没有答对
If TypeOf c Is LinkButton Then
Me.textbox1.Text = CType(c, LinkButton).Text
End If
Next这样子就可以在textbox1中得到你所选择的 列0的linkbutton的text