DataGrid自带的更新按钮修改超链接列的内容

本文介绍如何使用ASP.NET DataGrid的模板列实现报表名称的显示与编辑功能,并提供了后台更新事件的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,在DataGrid有一模版列,模版列中ItemTemplate中放置HyperLink控件,EditItemTemplate中可放入一TextBox,html中的相应代码为

<asp:TemplateColumn HeaderText="报表名称">
                            
<ItemTemplate>
                                
<asp:HyperLink id=Hyperlink1 runat="server" NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.rptlink")%>' Target="_self">
                                    
<%# DataBinder.Eval(Container, "DataItem.name"%>
                                
</asp:HyperLink>
                            
</ItemTemplate>
                            
<EditItemTemplate>
                                
<asp:TextBox id=txtName runat="server" Width="280" Text='<%#DataBinder.Eval(Container.DataItem,"name")%>'>
                                
</asp:TextBox>
                            
</EditItemTemplate>
                        
</asp:TemplateColumn>

后台DataGrid的更新事件

//更新
        private void dgWTJ_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        
{
            
string rptname = ((TextBox)(e.Item.Cells[0].Controls[1])).Text; 
            
long reportid = long.Parse(e.Item.Cells[5].Text);
            
            
if (rptname == "")
            
{
                
this.lblerr.Text = "提示信息:报表名称不能为空!";
            }

            
else
            
{
                
//报表重命名,参数为报表名称,报表ID
                this.lblerr.Text = "";
                hbbu.RenameReport(rptname,reportid);
                
this.dgWTJ.EditItemIndex = -1;
                BindWTJList();
            }

        }

在DataGrid中显示但不需要修改的列可设置为只读。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值