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事件

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

  • 相关阅读:
    01-Django 简介
    函数及函数的嵌套等
    循环及循环嵌套
    运算符
    if, elif, else及if嵌套
    变量及变量计算和引用
    Python的3种执行方式
    Jmeter设置默认中文启动
    Vysor
    python基础学习(二)
  • 原文地址:https://www.cnblogs.com/Render/p/1752759.html
Copyright © 2011-2022 走看看