【问题标题】:Linkbutton Text From Previouspage上一页的链接按钮文本
【发布时间】:2012-08-27 07:37:30
【问题描述】:

我有一个带有链接按钮的网格视图,当单击 ID 列中的值时,它会发布跨页。我希望将 ID 发布到下一页,以便在 url 中看不到它。 (无查询字符串)gridview 包含在 contentplaceholder 中。我想知道如何响应。使用 findcontrol 在 details.aspx 上编写链接按钮 (lbID) 文本。请帮忙。 (我使用的是 VB,我应该提到这一点。)

    <asp:Content ID="content" ContentPlaceHolderID="content" runat="server">

    <asp:GridView ID="gvOpen" runat="server" AutoGenerateColumns="False" 
    BackColor="White" BorderColor="Black" BorderStyle="None" BorderWidth="1px" 
    CellPadding="4" 
    ForeColor="Black" Width="96%" DataKeyNames="id" 
    DataSourceID="Open" CssClass="Grid" AllowPaging="True">
    <AlternatingRowStyle BackColor="#CCFFCC" />
    <Columns>
    <asp:ImageField DataImageUrlField="priority" HeaderText="Priority">
    <ItemStyle Height="28px" HorizontalAlign="Center" VerticalAlign="Middle" Width="28px" />                                            
        </asp:ImageField>
        <asp:TemplateField HeaderText="ID">
            <ItemTemplate>
                <asp:LinkButton ID="lbID" runat="server" PostBackUrl="~/details.aspx"> <%# Eval("ID") %></asp:LinkButton>
            </ItemTemplate>

【问题讨论】:

    标签: asp.net visual-studio-2010 visual-studio visual-studio-2008 visual-studio-2005


    【解决方案1】:

    我想这就是你想要的:PostBackUrl

    void Page_Load(object sender, EventArgs e)
    {
       LinkButton lbID = (LinkButton) PreviousPage.FindControl("lbID");
       string linkText = "";
    
       if(lbID != null)
         linkText = lbID.Text;
    }
    

    您可能希望像这样设置链接按钮文本

    <asp:LinkButton ID="lbID" runat="server" PostBackUrl="~/details.aspx" Text='<%# Eval("ID") %>'></asp:LinkButton>
    

    【讨论】:

    • 你试过这个吗?据我所知,PreviousPage 适用于服务器传输,不能这样使用。
    • 该示例是从 MSDN 复制的,我在答案中提供了链接,所以这个想法不是我的真正的想法
    • 试过了,效果很好。谢谢,我学到了一些新东西。
    • 嗯,我觉得它应该可以工作。这就是为什么 - 默认回发帖子到同一页面,您可以从代码隐藏中访问信息(例如控件)。这样,回发到另一个页面,这些信息将发布到新页面而不是它们出现的页面。感谢您试用。 :)
    • 我正在使用 VB,但我能够转换。当我使用此代码时,没有任何反应。页面加载,但我不能 response.write 链接文本。如果我删除“如果 lbID 不是什么”,我会收到错误“对象引用未设置为对象的实例”。有任何想法吗? -PS:我确实按照您的建议对标记进行了更改,因此 Text='' 。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多