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. Я хочу получить значение A и B из GridView, когда я нажимаю кнопку. Любые идеи, как это сделать?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); 

    } 
} 

РЕЗУЛЬТАТ я всегда: система веб-интерфейс управления веб-СИСТЕМА УПРАВЛЕНИЯ UI

+0

Попробуйте, Этикетка имеет свойство Text, который я думаю, что это тот, который вы ищете 'ClientScript.RegisterStartupScript (GetType(),«тревога» , "alert ('" + FIRST.Text + SECOND.Text + "');", true); ' –

ответ

0

FIRST и SECOND являются объектами этикетки. Когда вы вызываете "alert('" + FIRST + SECOND + "');", вы печатаете фактические объекты вместо значений этих элементов управления.

Элементы управления метками имеют свойство , которое позволяет получить доступ к значению текстового содержимого.

Ваш код должен быть изменен на следующее:

ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + FIRST.Text + SECOND.Text + "');", true); 
Смежные вопросы