2016-12-15 6 views
0

私は何か間違っていますが、私がやりたいことはわかりません、私たちのデータベースから取得するレジストリの数を表示し、 「Total applicants :(ここではアイテムの総数を調べることができるはずです)」がありますが、asp:ラベルを呼び出して.aspx.csにロードすることもできません。ここに私のコードは次のとおりです(ラベルはlblTotalする必要があります)FooterTemplateは私の.aspx.cs内の任意の関数を呼び出すことはできません

<blockquote> 
     <asp:GridView ID="gvApplicants" runat="server" AllowPaging="True" AllowSorting="true" 
      AutoGenerateColumns="False" DataKeyNames="Id" CellPadding="5" ForeColor="#333333" 
      GridLines="None" PageSize="10" ShowFooter="True" Width="100%" Font-Size="9pt" 
      OnSorting="gvApplicants_Sorting" OnPageIndexChanging="gvApplicants_PageIndexChanging"> 

      <Columns> 
       <asp:BoundField DataField="Id" HeaderText="Id" ReadOnly="True" 
        SortExpression="Id" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Top" /> 
       <asp:TemplateField HeaderText="Complete Name" SortExpression="FirstName"> 
        <HeaderStyle HorizontalAlign="Left" /> 
        <ItemStyle HorizontalAlign="Left" VerticalAlign="Top" /> 
        <ItemTemplate> 
         <a href='candidato.aspx?key=<%#Eval("Key")%>'> 
         <%# Eval("FirstName") %> 
         <%# Eval("MiddleName") %> 
         <%# Eval("LastName") %> 
         <%# Eval("SecondLastName") %></a> 
         <br /> 
         <small><%# GetLabels(Eval("Id").ToString())%></small> 
        </ItemTemplate> 
        <FooterTemplate> 
         Total candidates: <asp:Label ID="lblTotal" runat="server"></asp:Label> 
        </FooterTemplate> 
       </asp:TemplateField> 

       <asp:TemplateField HeaderText="Vacancies" SortExpression=""> 
        <HeaderStyle HorizontalAlign="Left" /> 
        <ItemStyle HorizontalAlign="Left" /> 
        <ItemTemplate> 
         <%# GetVacante(Eval("email").ToString())%> 
        </ItemTemplate> 
       </asp:TemplateField> 

       <asp:BoundField DataField="Status.Nombre" HeaderText="Status" 
        SortExpression="Status.Nombre" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign="Top" /> 
       <asp:TemplateField HeaderText="Created Date" SortExpression="CreatedDate"> 
       <HeaderStyle HorizontalAlign="Left" /> 
       <ItemStyle HorizontalAlign="Left" VerticalAlign="Top" /> 
        <ItemTemplate> 
         <asp:Label ID="Label1" runat="server" Text='<%# Eval("createdDate", "{0:MMMM dd, yyyy. H:mm}") %>'></asp:Label> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:BoundField DataField="Rating" HeaderText="Rating" SortExpression="Rating" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign="Top" /> 
      </Columns> 

と.aspx.cs

private void LoadApplicants(Entity.Vacante v) 
{ 
    try 
    { 
     ASF.HC.JobApplication.BO.User u = new BO.User(); 
     gvApplicants.DataSource = u.GetAllByVacancy(v); 
     gvApplicants.DataBind(); 
     LoadData() 

    } 

    catch(Exception ex) 
    { 
     this.lblError.Text = "There was an unexpected error getting applicants: " + ex.Message; 
    } 
} 
    protected void LoadTotal() 
    { 
     foreach (GridViewRow row in gvApplicants.Rows) 
     { 
      if (row.RowType == DataControlRowType.Footer) 
      { 
       Label myLabel = row.FindControl("lblTotal") as Label; 
       if (myLabel != null) 
       { 
        myLabel.Text = "hola"; 
       } 
      } 
     } 
    } 
+0

「男」...女性の開発者がいることは知っていますか? – Fuzzybear

+0

私は男性と女性のような男を意味しました。男の子と女の子は私にとっては実用的ではないようです。 –

答えて

1

にあなたが何か間違ったことをやっています。あなたはまだウェブフォームを使用しています。 ちょっと冗談ですが、問題は、他のコントロールと同じIDを持つテンプレートfiledsからコントロールにアクセスできないことです。このようなことをする必要があります。

foreach(GridViewRow row in myGridView.Rows) { 
    if(row.RowType == DataControlRowType.Footer) { 
     Label myLabel= row.FindControl("myLabelId") as Label; 
     if(myLabel!=null) 
     { 
     //Do your stuff 
     } 
    } 
} 
+0

これは私のコーディングではありません:(それは割り当てのためのものです)プログラミングのトピックに戻る私はこれで "Hello World"を表示することはできません。 Page_Load()。 –

+0

私は元の投稿に、私がシミュレートしようとしているものを追加しました –

関連する問題