【问题标题】:How can I get text of hyperlink in a FormView?如何在 FormView 中获取超链接的文本?
【发布时间】:2014-01-26 08:06:58
【问题描述】:


我曾使用 FormView 在我的页面中显示数据:

        <asp:FormView ID="PFull" runat="server" >
    <ItemTemplate>
        <div class="post_con">
            <h4 class="post-headers"><asp:HyperLink ID="hprPTitle" runat="server" NavigateUrl='<%#Eval("PID","~/Paper.aspx?pid={0}")%>'><%#Eval("PTitle")%></asp:HyperLink></h4>
        </div>
    </ItemTemplate>
    </asp:FormView>

绑定表单视图:

public void ShowFullPaper(int id)
{
    DataTable dt = paper.ShowFullPaper(Convert.ToInt32(Request.QueryString["pid"]));
    PFull.DataSource = dt;
    PFull.DataBind();
}

现在,我想用该超链接的文本更改页面标题:

protected void PFull_DataBound(object sender, EventArgs e)
{
    this.Title = ((HyperLink)PFull.FindControl("hprPTitle")).Text;
}

但那是行不通的。请帮帮我...
谢谢。

【问题讨论】:

标签: c# asp.net .net


【解决方案1】:

如下修改您的 aspx 标记。

<asp:FormView ID="PFull" runat="server" >
    <ItemTemplate>
        <div class="post_con">
            <h4 class="post-headers"><asp:HyperLink ID="hprPTitle" runat="server" NavigateUrl='<%#Eval("PID","~/Paper.aspx?pid={0}")%>' Text='<%#Eval("PTitle")%>'></asp:HyperLink></h4>
        </div>
    </ItemTemplate>
</asp:FormView>

然后在您的 ItemDataBound 事件中,您可以像下面这样找到它。

protected void PFull_DataBound(object sender, EventArgs e)
{
    this.Title = ((HyperLink)PFull.FindControl("hprPTitle")).Text;
}

【讨论】:

    【解决方案2】:

    将设计更改为--

    <asp:FormView ID="PFull" runat="server" OnDataBound="PFull_DataBound" >
    <ItemTemplate>
        <div class="post_con">
            <h4 class="post-headers"><asp:HyperLink ID="hprPTitle" runat="server" NavigateUrl='<%#Eval("Dosage","~/Paper.aspx?pid={0}")%>' Text='<%#Eval("PTitle")%>'></asp:HyperLink></h4>
        </div>
    </ItemTemplate>
    </asp:FormView>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 2013-11-07
      • 2017-12-23
      • 2018-06-26
      • 2017-12-21
      • 1970-01-01
      相关资源
      最近更新 更多