c# - 如何通过span ID访问span内的ASP控件?

标签 c# javascript asp.net

我使用自定义控件创建一个跨度和 2 个带有 int 的 asp 控件。

<abc:edf runat="server" ID="testing" ... />

现在我的问题是如何通过javascript中的span ID访问span内的asp控件?

我可以通过

到达它
var test = $get('<%=testing.ClientID %>');
alert(test.all.[hard coded client ID of inner asp control].value)

但显然我不想对客户端 ID 进行硬编码,所以有没有更好的方法来处理这个问题?

最佳答案

您可以将控件 ClientID 公开为公共(public)属性,如下所示:

public class TestControl : CompositeControl
{
    private TextBox textBox;

    public string TextBoxClientID
    {
        get
        {
            return textBox.ClientID;
        }
    }

    protected override void CreateChildControls()
    {
        textBox = new TextBox();
        textBox.ID = "textBox1";
        Controls.Add(textBox);
    }
}

这样您就可以在代码块中访问它:

<%= TestControl1.TextBoxClientID %>

关于c# - 如何通过span ID访问span内的ASP控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7451112/

相关文章:

c# - 切换字符串的部分

c# - 如何在 MVC 中单击链接时在主视图中呈现局部 View ?

javascript - 使用 angularjs 调用普通 javascript

javascript - 在 JS 中读取/写入 float 字节

c# - Linq 按 ID 分组,然后对 ID 本身求和(键)

asp.net - 使用 ASP.NET Forms 身份验证应用程序的当前用户

c# - 无法使用 C# Mono (RaspberryPi) 从串行端口读取

c# - 将 AxShockwaveFlash Flash 对象写入文件 C#

javascript - 对示例实时提交/推送事件的 GitHub API 请求

c# - 每层应该进行哪些参数验证?