c# - 如何从服务器端代码获取控件的完整 ClientID

标签 c# asp.net

我在 RepeaterItemTemplate 中有一个 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/

相关文章:

c# - W8 Phone System.Xml.XmlException 与 XmlReader

javascript - ASP.NET- args.Value 的类型是什么

php - 如何创建 C# DLL 以在 PHP 中使用

c# - 在 ASP.NET Web API 中使用事务

c# - 拆分连接字符串

c# - 为什么我们只能访问 aspx 或 ascx 中的 Protected 和 Public 方法?

c# - Azure webjob 如何访问托管站点文件夹

c# - 覆盖 ASP.NET MVC 事件样式表包

c# - 如何在 C# 中获取节点文本值的父级?

c# - 从资源中添加字体文件