首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Asp.net网格视图BoundField

Asp.net网格视图BoundField
EN

Stack Overflow用户
提问于 2015-01-06 13:48:41
回答 3查看 1.5K关注 0票数 1

我使用Asp.net网格视图绑定字段,在绑定字段中使用锚标记在新选项卡中打开值。我的锚标记工作得很好,因为它从数据库获取值,但问题是,我想从数据库显示值到锚标记,比如我的db值,这是我的代码。

代码语言:javascript
复制
<asp:BoundField DataField="uniId" ControlStyle-CssClass="bg-darkGreen"  HeaderText="ID"     ReadOnly="True" SortExpression="uniId" HtmlEncode="false" DataFormatString="<a target='_blank'     href='Details.aspx?uniId={0}'>uniId</a>" >
</asp:BoundField>

它显示的是所有行中的uniId,而不是它们的值。

我也尝试过<%=uniId%>,但问题依然存在。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-06 13:53:19

使用TemplateField而不是BoundField

代码语言:javascript
复制
<asp:TemplateField  HeaderText="ID">
    <ItemTemplate>
        <a target='_blank' href='Details.aspx?uniId=<%#Eval("uniId")%>'><%#Eval("uniId")%></a>
    </ItemTemplate>
</asp:TemplateField>
票数 2
EN

Stack Overflow用户

发布于 2015-01-06 18:11:06

请注意:您不应该通过将主键放置在URL中或嵌入到网格视图中,将其作为任何浏览器的选项查看的值,从而使主键可公开查看。

你至少要..。

  1. 处理Gridview的SelectedIndexChanged事件
  2. 根据行选择从网格视图uniID中获取DataKeys
  3. 使用Details.aspx将使用的键值设置会话变量或类似值
票数 2
EN

Stack Overflow用户

发布于 2015-01-06 13:53:29

使用TemplateField而不是BoundField

代码语言:javascript
复制
        <asp:TemplateField ItemStyle-HorizontalAlign="Center">
            <ItemTemplate>
                <HyperLink ID="RedirectBtn" runat="server"
                    OnClick="RedirectBtn_Click" />

            </ItemTemplate>
            <ItemStyle HorizontalAlign="Center"></ItemStyle>
        </asp:TemplateField>

之后,您可以在网格的OnRowDataBound事件中添加您想要的任何内容。如果您的RowDataBound事件称为Grid_RowDataBound

代码语言:javascript
复制
    protected void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.DataItem == null)
            return;

        DataRowView row = e.Row.DataItem as DataRowView;

        HyperLinkbtn = e.Row.FindControl("RedirectBtn") as HyperLink;
        b.NavigateUrl = "some text" + row["ColumnName"] + "other text";
        //if you want to open new tab
        b.Target="_blank";

    }

您将该事件添加到网格中,如下所示:

代码语言:javascript
复制
OnRowDataBound="Grid_RowDataBound"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27800017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档