Javascript语法问题
我正在从代码隐藏创建一个新的文本控件,我在其中添加了标准html,效果很好。我试图将Javascript语法问题,javascript,asp.net,syntax,Javascript,Asp.net,Syntax,我正在从代码隐藏创建一个新的文本控件,我在其中添加了标准html,效果很好。我试图将添加到这个文本控件中,但它确实将代码背后的内容打印到源代码中 代码隐藏: new LiteralControl("<div id='" + paneID.Replace(" ", "") + "_Expand' runat='server' onclick='ChangePanelHeader('<%= " + paneID.Replace(" ", "") + "_Expand.Cl
添加到这个文本控件中,但它确实将代码背后的内容打印到源代码中
代码隐藏:
new LiteralControl("<div id='" + paneID.Replace(" ", "") + "_Expand' runat='server' onclick='ChangePanelHeader('<%= " + paneID.Replace(" ", "") + "_Expand.ClientID %>'" + ", " + "'<%= " + paneID.Replace(" ", "") + "_cpe.ClientID %>')' class='rhsCollapsiblePanelsHeader'>" + paneTitle + "<br /><br /></div>" + paneContent)
newliteralcontrol(“+paneTitle+”
“+paneContent)
加载页面后,在浏览器源中:
<div id='Tellafriend_Expand' runat='server' onclick='ChangePanelHeader('<%= Tellafriend_Expand.ClientID %>', '<%= Tellafriend_cpe.ClientID %>')' class='rhsCollapsiblePanelsHeader'>Tell a friend<br /><br /></div>
告诉朋友
通缉结果:
<div id='Tellafriend_Expand' runat='server' onclick='ChangePanelHeader("MyTelAFriendID_Expand", "MyTelAFriendID_cpe") class='rhsCollapsiblePanelsHeader'>Tell a friend<br /><br /></div>
(在我的首字母“Huh?”)之后)我注意到您正在将服务器端代码用于输出未用引号括起来的ID。在JS中,这些ID可能需要作为字符串处理,因此请尝试以下方法:
ChangePanelHeader("<%= Tellafriend_Expand.ClientID %>", ...);
// add quotes ----^----------------------------------^
ChangePanelHeader(“,…);
//添加引号----^----------------------------------^
(如果不是这样的话,那么,我将等待您在评论中承诺的问题重写。)谢谢,伙计,对不起,英国现在是凌晨3点。我已经重写了它,如果你还需要什么,请告诉我。你已经嵌入了是的,我刚刚注意到我可以使用Object.ClientID在代码隐藏中获得它。我将看到这产生了什么,而不是
你可以只做Object.ClientID
在代码隐藏中,也不是&39
我刚做了\“
我应该从一开始就转义字符。我几乎更新了我的答案,以表明这一点,但在我看来,您是通过从paneID.Replace()
中提取字符串并添加”\u来构建对象的名称“
最后,我不确定如何处理这部分。
ChangePanelHeader("<%= Tellafriend_Expand.ClientID %>", ...);
// add quotes ----^----------------------------------^