如果我将 ClientID 作为参数传递给 javascript 函数而不包括单引号,它会作为对控件本身的引用传递,然后无需先调用 getElementByID 即可使用。
我在任何地方都找不到这种行为的记录,这是浏览器特定的东西还是 .net 的东西还是什么?
我正在代码隐藏中像这样设置调用...
protected void Page_Load(object sender, EventArgs e)
{
Button1.Attributes.Add("onClick", string.Format("showvalue({0})", TextBox1.ClientID));
}
我担心的是这在旧版本的 IE 中可能不起作用。 谢谢。
最佳答案
在生成 JS 代码时在您的 ID 值周围添加引号,例如: string.Format("showvalue('{0}')", TextBox1.ClientID)
如果没有引号,showValue 会使用您的 ClientID 名称获取全局变量的实例,该名称通常是您的控件呈现的 DOM 元素。
关于asp.net - 为什么将 ClientID 传递给 javascript 函数会传递整个控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/343588/