【问题标题】:How to bind the page title to the datasource如何将页面标题绑定到数据源
【发布时间】:2012-10-09 21:48:42
【问题描述】:

我需要将标题绑定到数据源,以便网页标题显示取决于数据源中的数据。

当我使用 Formview 和 hiddenfield 从数据源获取数据时,代码无法编译

如何根据数据源中的数据创建一个可以显示页面标题的脚本?

<Script runat = "server">
 Protected sub Page_load(Byval sender as Object, Byval e As System.eventargs)
     Title = Hiddenfield1.value
 End sub
</Script>

<asp:FormView ID="FormView2" runat="server" DataSourceID="SqlDataSource1">

<ItemTemplate>

<asp:HiddenField ID="HiddenField1" runat="server" Value= '<%#eval ("PageTitleConstruct") %>' />

</ItemTemplate>
</asp:FormView>   

【问题讨论】:

    标签: asp.net vb.net webforms


    【解决方案1】:

    试试这个

      Sub FormView2_ItemCreated(ByVal sender As Object, ByVal e As EventArgs)
    
        Dim HiddenField1 As HiddenField = CType(FormView2.FindControl("HiddenField1"), HiddenField)
    
        Page.Title = HiddenField1.Value;
    
      End Sub
    

    【讨论】:

    • 我试过这个脚本,但是当使用 Sub FormView2_ItemCreated(ByVal sender As Object, ByVal e As EventArgs) Dim HiddenField1 As HiddenField = CType(FormView2.FindControl("HiddenField1"), HiddenField) Page .Title = HiddenField1.Value; End Sub page.title 值只有什么但如果我将事件更改为 Private Sub FormView2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles FormView2.Load Dim hiddenfield1 As HiddenField = CType(FormView2.FindControl("hiddenfield1 "), HiddenField) Page.Title = hiddenfield1.Value End Sub
    【解决方案2】:

    在 Page_Load 函数中。不过,您必须比现在更早地获得价值。

     Page.Title = value here.
    

    【讨论】:

      【解决方案3】:

      您应该能够监听ItemCreated 事件,并在该回调中设置标题。

      【讨论】:

        【解决方案4】:

        我已经尝试过脚本,但是在使用时

        FormView2_ItemCreated(ByVal sender As Object, ByVal e As EventArgs)
            Dim HiddenField1 As HiddenField = CType(FormView2.FindControl("HiddenField1"), HiddenField)
        
            Page.Title = HiddenField1.Value;
        
        End Sub
        

        page.title 的值只有空

        但如果我将事件更改为正确的

        Private Sub FormView2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles FormView2.Load
                Dim hiddenfield1 As HiddenField = CType(FormView2.FindControl("hiddenfield1"), HiddenField)     
                Page.Title = hiddenfield1.Value
          End Sub
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-07-17
          • 2013-02-13
          • 2016-12-05
          • 2016-10-11
          • 2014-04-14
          • 1970-01-01
          • 2011-01-26
          • 2016-03-01
          相关资源
          最近更新 更多