【问题标题】:gridview link button redirect to another pagegridview 链接按钮重定向到另一个页面
【发布时间】:2015-06-16 13:50:16
【问题描述】:
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" EmptyDataText="Sevkiyat Bulunamadı"
    class="table table-striped table-bordered table-condensed" 
    AllowPaging="True" 
    OnPageIndexChanged="GridView1_PageIndexChanged" 
    OnPageIndexChanging="GridView1_PageIndexChanging" 
    OnRowDataBound="RowDataBound" 
    OnRowCommand="GridView1_RowCommand" 
    AllowSorting="True" 
    DataSourceID="SqlDataSource1"
    OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
    <Columns>

        <asp:TemplateField>
            <HeaderTemplate>
                <asp:CheckBox ID="checkAll" runat="server" onclick="checkAll(this);" />
                Teklif İste
            </HeaderTemplate>
            <ItemTemplate>
                <asp:CheckBox ID="CheckBox1" runat="server" onclick="Check_Click(this)" />
            </ItemTemplate>
        </asp:TemplateField>

        <asp:BoundField DataField="yetkiliad" ItemStyle-CssClass="yetkiliad" HeaderText="yetkiliad" SortExpression="yetkiliad" />
        <asp:BoundField DataField="yetkilisoyad" ItemStyle-CssClass="yetkilisoyad" HeaderText="yetkilisoyad" SortExpression="yetkilisoyad" />
        <asp:BoundField DataField="firmaismi" ItemStyle-CssClass="firmaismi" HeaderText="firmaismi" SortExpression="firmaismi" />
        <asp:BoundField DataField="telefon" ItemStyle-CssClass="telefon" HeaderText="telefon" SortExpression="telefon" />
        <asp:BoundField DataField="adres" ItemStyle-CssClass="adres" HeaderText="adres" SortExpression="adres" />
        <asp:BoundField DataField="mail" ItemStyle-CssClass="mail" HeaderText="mail" SortExpression="mail" />
        <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton Text="View" ID="lnkView" runat="server" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
    <RowStyle VerticalAlign="Middle" />
</asp:GridView>

我有这样的代码。单击每行上的查看按钮时,我找不到如何重定向。我的意思是当我点击第二行的视图时,它应该被重定向到第二行的相关链接。你能帮我解决一下吗

【问题讨论】:

  • 点击链接按钮时您想要关注的链接是什么样的?您似乎根本没有在代码中。
  • 我不知道我要在后台写什么。我尝试为重定向选择索引更改,但我无法根据特定行重定向。
  • protected void OnRowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes["onclick" ] = Page.ClientScript.GetPostBackClientHyperlink(GridView1, "Select$" + e.Row.RowIndex); e.Row.ToolTip = "点击选择这一行。"; } }
  • 不,我的意思是你要使用的 URL,你有吗?并且请不要在 cmets 中发布代码。如果相关,则应将其编辑到问题中
  • 我试过了,但我不知道如何根据行索引重定向

标签: asp.net gridview


【解决方案1】:

无需在asp:TemplateField 内创建LinkButton。只需像这样使用asp:HyperLinkField

<asp:HyperLinkField Text="View" 
    DataNavigateUrlFields="firmaname" 
    DataNavigateUrlFormatString="~/{0}.aspx" />

【讨论】:

  • 实际上,如果我单击第二行的视图,并且如果单击事件完成后该行数据文件的名称为 kemal,则我需要重定向 kemal.aspx 文件
  • 那种逻辑应该在ItemDataBound事件中完成。研究网格的 itemDataBound 事件。在 ItemDataBound 中,您将找到您的超链接控件并根据场景执行逻辑切换 url。
  • 这是正确的方法。稍微编辑您的答案以删除小错误。 id 和 runat="server" 不是asp:HyperLinkField的属性
  • Gridview 使用 RowDataBound。 ItemDataBound 用于Repeater或ListView等其他控件
【解决方案2】:
<asp:LinkButton ID="lnkView" runat="server"  OnClick="lnkView_Click" CommandArgument='<%#Eval("Id") %>View</asp:LinkButton>


protected void lnkView_Click(object sender, EventArgs e)
{
     int Id = (sender as LinkButton).CommandArgument;
     Response.Redirect("Foo.aspx?Id=" + Id);
}

【讨论】:

  • 你能告诉我重定向页面和行之间的关系吗?
  • 这不是一个好方法,你应该使用Id。有这样的方法,但它对你来说太先进了。使用 Id 来区分你的行
  • 现在用Id来区分,以后你可以研究一下你想要完成的maproute。即使您将使用 Id 来区分行。
猜你喜欢
  • 2014-07-21
  • 1970-01-01
  • 2015-06-19
  • 2020-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-21
  • 2016-02-01
相关资源
最近更新 更多