Asp GridView使超链接列可编辑

时间:2016-04-07 07:01:35

标签: asp.net gridview

我有asp:GridView。我可以毫无问题地编辑所有列,除了这一列:

<asp:TemplateField>                                  
<ItemTemplate>                                            
    <asp:HyperLink ID="hyperlinkEdocs"  runat="server" Target="HyperLink" 
    HeaderText="Dopolnitve (eDocs)" 
    NavigateUrl='<%# String.Format("http://{0}", Eval("CUSTOMER").ToString()) %>' 
    Text='<%# Eval("CUSTOMER") %>'></asp:HyperLink>                                                                                                               
</ItemTemplate>                                        

我正在通过点击“编辑”链接来编辑列(这会触发列内容显示在文本框中)。 如何使此列可编辑,以便我可以在列中编辑和更新超链接?

3 个答案:

答案 0 :(得分:0)

 <asp:GridView runat="server" ID="gvrecords"  AutoGenerateColumns="false"
HeaderStyle-BackColor="#7779AF" HeaderStyle-ForeColor="White" DataKeyNames="UserId">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" Text='<%# Bind("Name") %>' NavigateUrl='<%# Bind("Name", "~/Images/{0}") %>' runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="UserName" HeaderText="UserName" />
<asp:BoundField DataField="FirstName" HeaderText="FirstName" />
<asp:BoundField DataField="LastName" HeaderText="LastName" />
<asp:BoundField DataField="Email" HeaderText="Email" />
</Columns>
</asp:GridView

答案 1 :(得分:0)

我不能100%确定您要尝试做什么,因为我无法看到您的代码,但为什么不使用编辑项目模板?

答案 2 :(得分:0)

<asp:TemplateField HeaderStyle-Width="100px"   HeaderText = "ABC">

    <ItemTemplate>

        <asp:Label ID="label" runat="server"

                Text='<%# Eval("id")%>'></asp:Label>

    </ItemTemplate>

    <EditItemTemplate>

        <asp:TextBox ID="textbox1" Width="100px" Height="50px" runat="server"

            Text='<%# Eval("id")%>'></asp:TextBox>

    </EditItemTemplate>



                                 <HeaderStyle Width="80px" HorizontalAlign="Center" VerticalAlign="Middle" />



                                 <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />



</asp:TemplateField>

修改链接点击打开文本框

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        grd_view();
    }