我在TextBoxItemTemplate内也有一个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。

08-17 18:14