首页 新闻 赞助 找找看

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

0
悬赏园豆:20 [已解决问题] 解决于 2009-03-03 15:45

求教园子里的各路高人啊。

比如下面这种情况:

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

问题补充: 2位朋友说的都不对啊,我知道外面一层用单引号, 里面一层用双引号,可是现在的情况是有3层嵌套啊,按1朋友所说,改为OnClientClick="SelectLi('li<%# Eval("ParsentId")%>')" ,这是根本无法解析的
InSky的主页 InSky | 初学一级 | 园豆:140
提问于:2009-02-20 18:15
< >
分享
最佳答案
0

OnClientClick='<%# "SelectLi(\"li"+Eval("ParsentId") +"\""%>'

 就OK了

<%# %>其实很像Java中的<%= %>,用于输出符号内部表达式中得字串

RealDigit | 菜鸟二级 |园豆:255 | 2009-02-28 01:30
其他回答(3)
0

试试将SelectLi("li <-- 这里的双引号变成单引号,当然后面一个也相应变更

Gray Zhang | 园豆:17610 (专家六级) | 2009-02-20 18:28
0

引号套用的时候 外面一层引号用单引号 里面一层用双引号

JieNet | 园豆:0 (初学一级) | 2009-02-22 00:21
0

楼主,牛.错

ruonanxiao | 园豆:6 (初学一级) | 2012-05-30 11:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册