0

リピーター内のテキスト ボックス内のテキストにアクセスできますが、リピーター内のラベルからテキスト値を取得できません。リピータは、行(x)がsqlreader(x)によって埋められたデータテーブルから取り込まれます。それが違いを生むかどうかはわかりません。これにはjavascriptを使用できません。コードビハインドからラベル値にアクセスする必要があります。

<asp:label id="weiLabel" runat="server">
  <%#DataBinder.Eval(Container, "DataItem.weiLabel")%>
</asp:label>

マークアップです

次を使用して、同じ行のテキストボックスにアクセスできます。

featTable.Controls(1).Controls(1).FindControl("costText") 

textbox.text を取得しますが、ラベルに同じステートメントを使用すると {text=""} になります。

findcontrol で返されるコントロールの clientID が正しいことを確認しました (featTable__ctl1_weiLabel)

助けてくれてありがとう

4

2 に答える 2

1

次のようにラベルを宣言してみてください:

<asp:label id="weiLabel" runat="server" Text='<%#DataBinder.Eval(Container, "DataItem.weiLabel")%>' / >
于 2010-10-26T16:06:51.650 に答える
0

データバインド メソッドを使用して、コード ビハインドからラベルに値を入れてみることもできます。デバッグしてきれいにするのが少し簡単で、htmlに入れるのが少し簡単だと思います

 Private Sub repPoliList_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles repPoliList.ItemDataBound

    If (e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem) Then

        Dim dr As DataRowView = CType(e.Row.DataItem, DataRowView)

        Dim weiLabel As System.Web.UI.WebControls.Label= CType(e.Item.FindControl("weiLabel"), System.Web.UI.WebControls.Label)
        weiLabel.text= dr("ColumnFromDatabase").toString


    End If

End Sub
于 2010-10-26T16:30:52.553 に答える