zoukankan      html  css  js  c++  java
  • 数据绑定表达与javascript字符串连用

    引自http://www.velocityreviews.com/forums/t122096-simple-but-baffling-javascript-prob.html

    如果直接使用:

    <a href='#' onClick="passValue('<%# DataBinder.Eval(Container.DataItem,"file_no")%> ');return false" >
    <%# DataBinder.Eval(Container.DataItem,"sort_nm") %> </a>

    生成的代码就像:

    <a href='#' onClick="passValue('<%# DataBinder.Eval(Container.DataItem,"file_no")%> ');return false" >
    XXXXX</a>

    其中前一段的数据绑定表达式没有被解析。

    解决方案有两种:

    一、使用HTML元素的自定义属性

    <a href='#' onClick="passValue(this);return false"  param1='<%# DataBinder.Eval(Container.DataItem,"file_no")%> '>
    <%# DataBinder.Eval(Container.DataItem,"sort_nm") %> </a>

    修改passValue,使用param1属性来取值。

    二、使用javascript的"+"运算重排HTML(引文所提未验证)

     <a href='#' onClick=
    "passValue('"
    +
    <% # DataBinder.Eval(Container.DataItem,"file_no")%>
    +
    "');return false" >

    <%# DataBinder.Eval(Container.DataItem,"sort_nm") %> </a>

     三、把字符拼接放到服务器代码里面

     <a href='#' onClick='<%# "passValue(""" & DataBinder.Eval(Container.DataItem,"file_no") & """);return false"%> ' >

    <%# DataBinder.Eval(Container.DataItem,"sort_nm") %> </a>

    四、用DataRowBound事件

    灵活性最大的解决办法,要怎么就怎么样 

  • 相关阅读:
    [读书计划]2015读书计划
    [整理]iOS开发学习
    nginx配置
    Nginx的使用
    Spring
    JSP的使用以及EL和JSTL的使用
    关于linux安装tomcat和mysql
    linux常用操作(安装jdk配置环境变量)
    redis的安装与使用
    Mybatis
  • 原文地址:https://www.cnblogs.com/Render/p/1752759.html
Copyright © 2011-2022 走看看