【发布时间】:2010-12-10 17:09:26
【问题描述】:
我有一个 ASP.NET Web 应用程序,在某个时候我会这样做:
mycontrol.stringparameterforjscript = "document.getElementById('" + myotherparam + "').value = 'Hello'";
问题是这个东西不起作用。 如您所见,这在某些标记的某些事件中设置了 javascript。好吧,当页面被重新设计时,问题是我的参数看起来像这样:
<textarea onfocus="document.getElementById('myvalue').value = 'Hello'"></textarea>
我必须准确地说,我要设置的这个文本框位于 ListView 的 InsertItemTemplate 内,并且初始化并不容易。出于这个原因,我插入了您在文本框的加载事件处理程序中看到的初始化代码。我可以告诉你一件事:如果这段代码引用了页面中任意位置的文本框,并且我从页面的加载事件处理程序中调用了这段代码,那么这将运行良好。但我不知道在这种特殊情况下该怎么做。
我也在考虑是否可以创建一个 webcntrol 来处理这样的问题。我真的不知道在这种情况下最佳做法是什么。
【问题讨论】:
-
嗯,它显然是 HTML 编码的。什么是“stringparameterforjscript”,HTML 是如何呈现的?
-
如何设置
textarea的onfocus属性?我猜编码是通过textarea控件进行的,而不是您的mycontrol.stringparameterforjscript... -
@bdukes 我不这么认为,我通过一个 ASP.NET 控件库属性,我想问题就在那里。必须有一个转义序列设置在某个地方,只是我不知道它...... :(
标签: c# asp.net character-encoding rendering