日期:2014-05-17  浏览次数:20467 次

拼接html代码时将绑定的数据源作为参数<%#Eval("")%>总是有问题
<td>
<%#Eval("statu").ToString() == "0" ? "<input type='button' value='审核' onclick='SPartJob(this, &lt;%#Eval(\"Jid\")%&gt )' />" : "已审核"%>
</td>
问题就出在第二个参数那儿,我直接传一个常数测试就没问题,求指教具体怎么解决。。。
html 数据绑定 js

------解决方案--------------------
没听说过这个字符串里可以写Eval的。

你或许可以写
<%# GetMyHtml((string)Eval("statu")) %>
然后在你的程序代码中写例如
protected public string GetMyHtml(string status)
{
    .......
}
总之,不要使用过份诡异的绑定表达式,使用简单的分层函数(万能地分层)更好。
------解决方案--------------------
嗯,当然啦,如果你需要多传一个参数,或许也可以将绑定表达式重构为 
	
<%# GetMyHtml((string)Eval("statu"), (string)Eval("Jid")) %>

------解决方案--------------------
<td>
<%#Eval("statu").ToString() == "0" ? "<input type='button' value='审核' onclick='SPartJob(this, "+Eval("Jid")+")' />" : "已审核"%>
</td>