【发布时间】:2025-11-26 20:20:21
【问题描述】:
我有一个gridview,有一些列。我想隐藏一列,但当我选择一条记录时仍然可以访问它的值。
有人可以帮我实现这个目标吗?
感谢任何帮助。
这是我的网格视图:OutlookID 是要隐藏的列!
<asp:GridView ID="gvOutlookMeldingen" runat="server"
AllowSorting="True" AutoGenerateColumns="False"
AutoGenerateSelectButton="True" onselectedindexchanged="GridView_SelectedIndexChanged">
<Columns>
<asp:BoundField DataField="Melder" HeaderText="Melder" />
<asp:BoundField DataField="Onderwerp" HeaderText="Onderwerp" />
<asp:TemplateField HeaderText="Omschrijving">
<ItemTemplate>
<div style="overflow:auto; width: 500px; height: 150px;">
<asp:Label ID="lblOmschrijving" runat="server" Text='<%# Bind("Omschrijving")%>'></asp:Label>
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Meldingsdatum" HeaderText="Meldingsdatum" />
<asp:BoundField DataField="OutlookID" HeaderText="OutlookID" Visible="false" />
</Columns>
</asp:GridView>
这是我选择记录时的代码:
Label lblOmschrijving = (Label)gvOutlookMeldingen.SelectedRow.FindControl("lblOmschrijving");
//Label lblOutlookID = (Label)gvOutlookMeldingen.SelectedRow.FindControl("lblOutlookID");
Response.Redirect("Detailscherm.aspx?"
+ "melder=" + Server.UrlEncode(gvOutlookMeldingen.SelectedRow.Cells[1].Text)
+ "&meldingsdatum=" + gvOutlookMeldingen.SelectedRow.Cells[4].Text
+ "&onderwerp=" + Server.UrlEncode(gvOutlookMeldingen.SelectedRow.Cells[2].Text)
+ "&outlookid=" + Server.UrlEncode(gvOutlookMeldingen.SelectedRow.Cells[5].Text)
+ "&omschrijving=" + Server.UrlEncode(lblOmschrijving.Text)
+ "&niv1=" + ""
+ "&niv2=" + "");
【问题讨论】:
-
您可以使用 TemplateColumn 并将想要的项目的 css 属性设置为 display:none;
-
在客户端代码或服务器端代码中访问它的值?在什么情况下?
-
@eugeneK 这不起作用,因为我仍然可以看到只有值消失的列。我无法获得价值
-
@Tassisto,“获得价值”是什么意思?你想做什么?
-
我正在尝试 (1) 隐藏网格视图中的列。 (2)当我选择一条记录时。 (3)我将被重定向到另一个页面。 (4)我必须获取隐藏列的值 (5)并在另一个页面的文本框中显示它