2016-04-17 7 views
0

zuweisen Hier ist meine Aspx-Seite: Ich möchte eine Spalte an Dropdown-Liste binden, aber ich finde Repeater ("Repeater1") im Back-End Code. Bitte Hilfe!Wie man eine Datenquelle einer Dropdown-Liste in einem Repeater in einer Gridview ASP.net mit C#

<asp:GridView ID="gridViewAllotment" CssClass="table table-striped" runat="server" 
         AutoGenerateColumns="false" GridLines="None" BorderColor="#999999" 
         BorderStyle="Groove"> 
         <Columns> 
         <asp:TemplateField HeaderText="Traffic Police"> 
          <ItemTemplate> 
           <%# Eval("U_Name") %> 
          </ItemTemplate> 
         </asp:TemplateField> 

         <asp:TemplateField HeaderText="Traffic Junction"> 
         <ItemTemplate> 

         <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound = "Test"> 
          <ItemTemplate> 
          <asp:DropDownList ID="ddl_TrafficJunction" runat="server" DataTextField="Junction">    
          </asp:DropDownList> 
          </itemTemplate> 
         </asp:Repeater>       
         </itemTemplate>        
         </asp:TemplateField> 
        </Columns> 
       </asp:GridView>   

Hier ist das Back-End-Code:

public partial class JunctionAllotment: System.Web.UI.Page { protected void Page_Load (object sender, EventArgs e) { gridViewAllotment.DataSource = AllotmentLogic.SelectAllTrafficPolices();
gridViewAllotment.DataBind();

Im Backend-Code heißt es "Repeater1" existiert im aktuellen Kontext nicht.

+0

Wie wäre es mit so etwas : http://stackoverflow.com/questions/3310574/asp-repeater-databound – Tubbe

+0

Mein Problem ist Repeater bekommen Daten, wenn ich es außerhalb des Rasters, aber es funktioniert nicht im Raster selbst nach der Verwendung von ItemTemplate. –

Antwort

0

Dieser Code ist sehr verdächtig. Dieser Code sagt die GridView Bedarf ein oder mehrere Dropdownlists für jede Zeile

<asp:TemplateField HeaderText="Traffic Junction"> 
     <ItemTemplate> 
     <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound = "Test"> 
      <ItemTemplate> 
      <asp:DropDownList ID="ddl_TrafficJunction" runat="server" 
           DataTextField="Junction">    
      </asp:DropDownList> 
      </ItemTemplate> 
     </asp:Repeater>       
     </ItemTemplate>        
    </asp:TemplateField> 

Ich denke, das mit mehr Inline ist das, was Sie versuchen zu tun:

<asp:TemplateField HeaderText="Traffic Junction"> 
     <ItemTemplate> 
      <asp:DropDownList ID="ddl_TrafficJunction" runat="server" 
          DataTextField="Junction">    
      </asp:DropDownList> 
     </ItemTemplate>        
    </asp:TemplateField> 

Dann im Code hinterher (Entschuldigung für die VB - aber C# sollte einfach genug sein, um zu konvertieren)

+0

Ich brauche eine DropDownList für jede Zeile im Raster. –

+0

rechts, 1, nicht viele, so dass der Repeater nicht benötigt wird. – fnostro

+0

Vielen Dank für die Hilfe .. Ich habe es getan :) –