Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript语法问题_Javascript_Asp.net_Syntax - Fatal编程技术网

Javascript语法问题

Javascript语法问题,javascript,asp.net,syntax,Javascript,Asp.net,Syntax,我正在从代码隐藏创建一个新的文本控件,我在其中添加了标准html,效果很好。我试图将添加到这个文本控件中,但它确实将代码背后的内容打印到源代码中 代码隐藏: new LiteralControl("<div id='" + paneID.Replace(" ", "") + "_Expand' runat='server' onclick='ChangePanelHeader(&#39;<%= " + paneID.Replace(" ", "") + "_Expand.Cl

我正在从代码隐藏创建一个新的文本控件,我在其中添加了标准html,效果很好。我试图将
添加到这个文本控件中,但它确实将代码背后的内容打印到源代码中

代码隐藏:

new LiteralControl("<div id='" + paneID.Replace(" ", "") + "_Expand' runat='server' onclick='ChangePanelHeader(&#39;<%= " + paneID.Replace(" ", "") + "_Expand.ClientID %>&#39;" + ", " + "&#39;<%= " + paneID.Replace(" ", "") + "_cpe.ClientID %>&#39;)' class='rhsCollapsiblePanelsHeader'>" + paneTitle + "<br /><br /></div>" + paneContent)
newliteralcontrol(“+paneTitle+”

“+paneContent)
加载页面后,在浏览器源中:

<div id='Tellafriend_Expand' runat='server' onclick='ChangePanelHeader(&#39;<%= Tellafriend_Expand.ClientID %>&#39;, &#39;<%= Tellafriend_cpe.ClientID %>&#39;)' 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 ----^----------------------------------^