我在TextBox
的ItemTemplate
内也有一个Repeater
,也在ItemTemplate
内。
服务器端我有:
protected void txtValorMaterialAsign_TextChanged(object sender, EventArgs e)
{
string controlId = ((TextBox)sender).ClientID;
}
结果:
rptFilasDeUnMaterial_ctl04_txtValorMaterialAsign
但是该控件的客户端ID是(根据Chrome的F12):
ctl00_contenido_wucMateriales_rptMateriales_ctl00_rptFilasDeUnMaterial_ctl01_txtValorMaterialAsign
如何从服务器端代码获取完整ID?
最佳答案
这对我有用:
var myResult1 = FindControl("ctl00").FindControl("MainContent")
.FindControl("text1").UniqueID;
返回:
ctl00 $ MainContent $ text1
在简单的findControl上尝试
UniqueID
。如果这样不起作用,请嵌套findControls。