我有一个标签,在Itemtemplate中,我想获得标签的值但是 只是找不到标签的控制权,请有人帮帮我吗?谢谢
aspx代码:
<asp:TemplateField HeaderText="工號" SortExpression="BS_ID">
<ItemTemplate>
<asp:Label ID="lblBSID" runat="server"
Text='<%# Eval("BS_ID") %>' />
</ItemTemplate>
<EditItemTemplate>
<asp:Textbox ID="tbBS_ID_edit" runat="server" Text='<%# Eval("BS_ID") %>' />
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="BS_ID_tb" Text="SK" MaxLength="7" runat="server" />
</FooterTemplate>
</asp:TemplateField>
代码
//string lb_BS_ID = ((Label)GridView1.FindControl("lblBSID")).Text;
//this._userID = lb_BS_ID;
//string lb_BS_ID = ((Label)GridView1.Rows[0].FindControl("lblBSID")).Text;
//this._userID = lb_BS_ID;
//string lb_BS_ID =((Label)GridView1.Rows[e.RowIndex].Cells[0]FindControl("lblBSID")).Text;
//this._userID = lb_BS_ID;
但这些对我不起作用请帮助我&gt;&lt;
答案 0 :(得分:0)
而不是这个:
Lable label = (Label)GridView1.Rows[e.RowIndex].FindControl("lblBSID");
string value = label.Text;
试试这个。 :
function __construct()
{
parent::__construct();
if(! isset($this->session->userdata['user_info'])){
redirect($this->data['admin_url'].'authentication');
exit ;
}
}
注意:如果您只需要在第一行中找到标签的值,则使用Rows [0]等等而不是e.RowIndex。 我希望它有所帮助。
答案 1 :(得分:0)
用于更新记录使用gridview的“OnRowUpdating”事件; 使用代码1,2和3时,请确保您的网格绑定到某些数据。
在网格绑定到某些数据之前,您无法访问任何控件
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int trackingno = (int)GridView1.DataKeys[e.RowIndex].Value;
Label trackingno = (Label)GridView1.Rows[e.RowIndex].FindControl("yourLabelControlID");
//perform your update function
}
对于其他操作,您可以使用“OnRowDataBound”
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
DropDownList ddeditpickuprider = (DropDownList)e.Row.FindControl("yourDropdownControlID");
}