我在 Repeater
的 ItemTemplate
中有一个 TextBox
,它也在 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。
关于c# - 如何从服务器端代码获取控件的完整 ClientID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12064100/