2017-09-28 20 views
0

ボタンを押した後にコードのリピータ値を取得したいと思います。しかし、私のコードビハインドでは、リピータは常に "0"になりました。私は何も意味しない。コードの後ろからリピータ値を取得する

私はaspxページで私のリピーターです:

<asp:Repeater ID="MyRepeater" runat="server" DataSourceID="SqlDataSourceU"> 
    <HeaderTemplate> 
     <table> 
      <tr> 
       <th>Car Type</th> 
       <th>Cars</th> 
      </tr> 
    </HeaderTemplate> 

    <ItemTemplate> 
     <tr> 
      <td> 
       <asp:Label runat="server" ID="lblUnitTypeValue" Text='<%# Eval("CarTypeName") %>' /> 
      </td> 
      <td> 
       <th> 
        <asp:DropDownList ID="ddlCars" 
         runat="server" 
         DataSourceID="SqlDataSourceViews" 
         DataTextField="problemLocationName" 
         DataValueField="problemLocationId" 
         Width="212px"> 
        </asp:DropDownList> 
        <asp:SqlDataSource ID="SqlDataSourceViews" 
         runat="server" 
         ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" 
         SelectCommand="SELECT [problemLocationId],[problemLocationName] FROM [ProblemLocation]"></asp:SqlDataSource> 
       </th> 
      </td> 
     </tr> 
    </ItemTemplate> 
    <FooterTemplate> 
     </table> 
    </FooterTemplate> 
</asp:Repeater> 

<asp:SqlDataSource 
     ConnectionString="<%$ ConnectionStrings:QfsAdminConnectionString %>" 
     ID="SqlDataSourceU" runat="server" 
     SelectCommand="SELECT [CarTypeName] FROM [CarType]"> 
</asp:SqlDataSource> 

それは私のコードビハインドです。私のforeachループには入っていません。いつも何もないからです。しかし、それは本当ではない、私のリピーターに値があります。 ボタンを押してリピーターから値を取得したいと思います。

Protected Sub btnSaveDefaultView_Click(sender As Object, e As EventArgs) Handles btnSaveDefaultView.Click 
    Dim itens As Repeater = CType(ViewDefaultView.FindControl("RepeaterUnitTypes"), Repeater) 

    For Each item In itens.Items 

    Next 
End Sub 
+0

は私はわからないが、これはうまくいくかもしれない: 'itens'約続きを読むに(あなたの項目タイプ)などの各項目については、'ここで各... Next'の場合:https://でドキュメント。 microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/for-each-next-statement – Subaz

+0

変数 "itens"がNothingであることを意味しますか? –

+0

はい、変数がNothingであることを意味します。 –

答えて

0

リピーターから値を取得するには、このコードを使用してリピーターを見つける必要はありません。

For Each rItem As RepeaterItem In MyRepeater.Items 
    Dim lbl As Label = DirectCast(rItem.FindControl("lblUnitTypeValue"), Label) 
    If Not IsNothing(lbl) Then 
    Dim value As Integer = Convert.ToInt32(lbl.Text) 
    End If 
Next 
0

行く馬Awnserここに!

リピーターによって生成されたhtmlをJSON '[CarType]'オブジェクトとして解析し、それをサーバーに送信します。

VOALÁ

関連する問題