2016-11-10 6 views
0
  <asp:TemplateField HeaderText="Employee ID" HeaderStyle-BackColor="#0033cc" HeaderStyle-ForeColor="White" ItemStyle-Width="10%"> 
       <ItemTemplate> 
        <asp:Label runat="server" ID="ONE" Text='<%#Eval("REG_ID") %>' /> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField HeaderText="Name" HeaderStyle-BackColor="#0033cc" HeaderStyle-ForeColor="White" ItemStyle-Width="20%"> 
       <ItemTemplate> 
        <asp:Label runat="server" ID="TWO" Text='<%#Eval("Name") %>' /> 
       </ItemTemplate> 
      </asp:TemplateField> 
    <asp:TemplateField HeaderText="View" HeaderStyle-BackColor="DarkBlue" HeaderStyle-ForeColor="White" ItemStyle-Width="5%"> 
       <ItemTemplate> 
        <asp:LinkButton ID="report" class="btn btn-warning btn-sm" Text="Report to HR" runat="server" OnClick="report_Click" /> 
       </ItemTemplate> 
      </asp:TemplateField> 

上記は私のGridViewのコードです。私は、ボタンをクリックしたときにGridViewからAとBの値を取得します。これを実行するには、どのように任意のアイデア?c#gridviewから値を取得

protected void report_Click(object sender, EventArgs e) 
{ 
    GridViewRow theClickedRow = ((LinkButton)sender).NamingContainer as GridViewRow; 
    if (theClickedRow != null) 
    { 
     Label FIRST = theClickedRow.FindControl("ONE") as Label; 
     Label SECOND = theClickedRow.FindControl("TWO") as Label; 
     ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + FIRST + SECOND + "');", true); 

    } 
} 

RESULT私は常に取得する:システムのWeb UIの制御システムのWeb UIコントロールを

+0

は、ラベルは、私はあなたが 'ClientScript.RegisterStartupScript(メソッドGetType()、「警告」を探している一つだと思いTextプロパティを持っている、これを試してみてください、 "警告( '" + FIRST.Text + SECOND.Text + "');"、真の); ' –

答えて

0

FIRSTSECONDは、Labelオブジェクトです。あなたが"alert('" + FIRST + SECOND + "');"を呼び出すと、あなたの代わりにこれらのコントロールの値の実際のオブジェクトを印刷しています。

ラベルコントロールにはテキストコンテンツの値にアクセスできるようにするプロパティがあります。

あなたのコードは次のように変更します。

ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + FIRST.Text + SECOND.Text + "');", true); 
関連する問題