求教园子里的各路高人啊。
比如下面这种情况:
这个LinkButton 控件放在一个Repeater中
<asp:LinkButton ID="lbtnParent" runat="server" OnClientClick='SelectLi("li<%# Eval("ParsentId")%>")' OnClick="lbtnParent_OnClick">点我</asp:LinkButton>
我想在OnClientClick中调用一个js的方法SelectLi(),这个方法需要接受一个字符串为参数,我想动态的将ParsentId作为参数传进去,但这样一来就有3个引号,不论我怎么写浏览器都将上边的控件解释为
<a href="javascript:__doPostBack('ctl00$phContent$rptLeftSideOut$ctl01$rptLeftSideIn$ctl01$lbtnParent','')" id="ctl00_phContent_rptLeftSideOut_ctl01_rptLeftSideIn_ctl01_lbtnParent" onclick='SelectLi("li<%# Eval("ParentId")%>");'>点我</a>
onclick的值居然是SelectLi("li<%# Eval("ParentId")%>,.Net根本就没解释<%# Eval("ParentId")%>,究竟该怎么搞啊,求救了!
OnClientClick='<%# "SelectLi(\"li"+Eval("ParsentId") +"\""%>'
就OK了
<%# %>其实很像Java中的<%= %>,用于输出符号内部表达式中得字串
试试将SelectLi("li <-- 这里的双引号变成单引号,当然后面一个也相应变更
引号套用的时候 外面一层引号用单引号 里面一层用双引号
楼主,牛.错