• GridView中使用超链接的技巧


     GridView中的超级链接,可以设置一个模版列,放入超级链接的控件,设置绑定参数即可。

    数据绑定方式有两种,如下示例:
    Eval方式 <%# Eval("id") %>
    Bind方式 <%# Bind("id","~/info.aspx?id={0}") %>

    推荐使用第一种方式,可以在一个<%# %>里放入多个绑定,而第二种只能如此绑定一个值
    <%# Eval("id") + ":" + Eval("name")%>

    做超级链接的控件,我们也有多种选择:
    1 asp:LinkButton
    示例
    <asp:LinkButton ID="LinkButton2" OnClientClick=<%# "window.open('info.aspx?id=" + Eval("id") + "&name=" + Eval("name") + "')" %> runat="server"><%# "LinkButton方式绑定:" + Eval("id") %></asp:LinkButton>

    2 asp:HyperLink
    示例
    <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# "~/info.aspx?id=" + Eval("id") + "&name=" + Eval("name") %>' Text='<%# "HyperLink控件:" + Eval("id") %>'></asp:HyperLink>

    3 a标签
    示例
    <a href='<%# "info.aspx?id=" + Eval("id") + "&name=" + Eval("name") %>'>a标签:<%# Eval("id") + ":" + Eval("name")%></a>
    <a href='javascript:alert("<%# "~/info.aspx?id=" + Eval("id") + "&name=" + Eval("name") %>")'>链接js事件:<%# Eval("id") %></a>


    LinkButton 不好设置,推荐使用HyperLink或者a的方式,简单实用。特别是a标签,使用javascript的方法也比较方便。

    补充:

    <asp:LinkButton ID="LinkButton3" runat="server" PostBackUrl='<%# "~/Default.aspx?id=" + Eval("FUserID") %>'
    CausesValidation="False" Text="跳转编辑"></asp:LinkButton> 

    使用模版列来控制在一个GridView中某些列有热连接,某些列无热连接

    1                <asp:TemplateField HeaderText="审核">
    2                    <ItemStyle Width="30px" />
    3                    <ItemTemplate>
    4                         <%# (Convert.ToString(Eval("c_status")) == "已审核") ? "" : "<a href=" + "javascript:AudiBehavior(\"" + Eval("c_id") + "\")" + ">审核</a>"%>                                                  
    5                    </ItemTemplate>
    6                </asp:TemplateField>

    以上的代码实现的效果是,如果当前这条记录"已审核"则在该行中不显示审核连接,反之则显示"审核"连接,

    1    protected void gvBehavior_RowCreated(object sender, GridViewRowEventArgs e)
    2    {
    3        if (Request.QueryString["MdLimitCode"].ToString().IndexOf("A")<0)
    4            e.Row.Cells[0].Visible = false
    5    }

    以上的代码则可以控制有"A"权限的人才可以看到第一列

  • 相关阅读:
    Neko's loop HDU-6444(网络赛1007)
    Parameters
    SETLOCAL
    RD / RMDIR Command
    devenv 命令用法
    Cannot determine the location of the VS Common Tools folder.
    'DEVENV' is not recognized as an internal or external command,
    How to change Visual Studio default environment setting
    error signing assembly unknown error
    What is the Xcopy Command?:
  • 原文地址:https://www.cnblogs.com/chinafine/p/675339.html
Copyright © 2020-2023  润新知