猿问

服务器控件标签中使用EVAL绑定无法传值的问题

比如下面这种情况:

这个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")%>,究竟该怎么搞啊,求救了!


慕桂英4014372
浏览 409回答 2
2回答

阿波罗的战车

OnClientClick='<%# "SelectLi(\"li"+Eval("ParsentId")&nbsp;+"\""%>'&nbsp;就OK了<%# %>其实很像Java中的<%= %>,用于输出符号内部表达式中得字串

杨魅力

试试将SelectLi("li <-- 这里的双引号变成单引号,当然后面一个也相应变更
随时随地看视频慕课网APP
我要回答