如果我将ClientID作为参数传递给javascript函数而不包括它周围的单引号,它将作为对控件本身的引用传递,然后可以在不首先调用getElementByID的情况下使用它。
我无法在任何地方找到这种行为,这是浏览器特定的东西还是.net的东西还是什么?
我在代码隐藏中设置这样的调用...
protected void Page_Load(object sender, EventArgs e)
{
Button1.Attributes.Add("onClick", string.Format("showvalue({0})", TextBox1.ClientID));
}
我担心的是,这可能不适用于旧版本的IE。 感谢。
答案 0 :(得分:4)
在生成JS代码时,在ID值周围添加引号,例如: string.Format(“showvalue(' {0} ')”,TextBox1.ClientID)
如果没有引号,showValue会使用您的ClientID名称获取全局变量的实例,该名称通常是您的控件呈现的DOM元素。
答案 1 :(得分:0)
如果您使用单引号传递并使用getElementByID,它应该适用于所有浏览器,这是“正常”方式。
我不确定为什么这种方法可以像你说的那样工作。它在Firefox中也有效吗?