c# <%#Eval%>加JS绑定问题

ThitLife 2012-11-20 02:05:54
我源码里是这么写的

onclick='MySum(<%# Eval("Id") %>)'
是调用一个JS方法的
结果HTML解释后变成这样的

onclick="MySum(<%# Eval("Id") %>)"
没解释出来,怎么办,搞了半天了
...全文
557 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
寒似火 2013-09-26
  • 打赏
  • 举报
回复
引用 9 楼 zhou_xuexi 的回复:

<asp:listview ID="lsView" runat="server" DataSourceID="SqlDataSource1" ItemPlaceholderID="ItemPlaceHolder">
            <LayoutTemplate>
          <table border="2">
            <thead>
              <tr>
                <th>ProductID</th>
                <th>ProductName</th>
                <th>UnitPrice</th>     
              </tr>
            </thead>
            <tbody>
              <asp:PlaceHolder  runat ="server" ID="ItemPlaceHolder"></asp:PlaceHolder>
            </tbody>
          </table>
        </LayoutTemplate>
        <ItemTemplate>
          <tr>
            <td><%# Eval("Number")%></td>
            <td><%# Eval("Name")%></td>
            <td><input type="button" id="btnal" onclick='t(<%# Eval("Number") %>)' value="点击我" /></td>
          </tr>
        </ItemTemplate>
        
        </asp:listview>
你可以看看这个,这个就没有问题啊
把 btnal 加上 ruant='server' 试下 Eval 好像只能用在服务器控件上
haibin_hu 2013-09-25
  • 打赏
  • 举报
回复
15楼正确,
引用 15 楼 nan1988113 的回复:
你那个js方法t()穿进去的参数是什么类型的,假设是字符串类型, onclick="t('<%# Eval("Number") %>')",这样试试
啾啾我 2013-09-25
  • 打赏
  • 举报
回复
一般这种绑定都是放在数据控件里面的,看看是不是编码的问题。
kiss筱魔 2013-09-25
  • 打赏
  • 举报
回复
GridView 测试没问题 <a onclick="Test(<%# Eval("AdminID") %>)">123</a> <script> function Test(id) { alert(id); } </script>
joypo4 2013-09-25
  • 打赏
  • 举报
回复
<input type="button" id='btnal_<%#Eval("Number") %>' onclick='t(this.id)' value="点击我" /> 然后截取字符串不就得到了
chen.han 2013-09-25
  • 打赏
  • 举报
回复
 onclick='<%#clientFunction(Eval("Number").ToString()) %>'
后台cs
       public string clientFunction(string Number)
        {
            return "t('" + Number+ "')";
        }
LianYaFei 2013-09-25
  • 打赏
  • 举报
回复
楼主,问题解决了没
栖_云 2012-11-20
  • 打赏
  • 举报
回复
你那个js方法t()穿进去的参数是什么类型的,假设是字符串类型, onclick="t('<%# Eval("Number") %>')",这样试试
zhou_xuexi 2012-11-20
  • 打赏
  • 举报
回复
对啊,那你看上面我贴的代码也是绑定啊,你代码不贴说不清的
ThitLife 2012-11-20
  • 打赏
  • 举报
回复
引用 11 楼 zhou_xuexi 的回复:
你还是把你代码贴出来吧,不然鬼知道你那个sid是怎么生成的
我只是做个样式 和SID没关系 我要的是绑定
ThitLife 2012-11-20
  • 打赏
  • 举报
回复
引用 9 楼 zhou_xuexi 的回复:
C# code?12345678910111213141516171819202122232425<asp:listview ID="lsView" runat="server" DataSourceID="SqlDataSource1" ItemPlaceholderID="ItemPlaceHolder"> <LayoutTemplate> ……
和我一开始问的样式不是一样的么 你试试就知道这个是错的了 最后解释后会变成这样的onclick="MySum(<%# Eval("Id") %>);"
zhou_xuexi 2012-11-20
  • 打赏
  • 举报
回复
你还是把你代码贴出来吧,不然鬼知道你那个sid是怎么生成的
ThitLife 2012-11-20
  • 打赏
  • 举报
回复
<a id="MainContent_RightContent_RightContent_ListView1_lnkView_1" sid="63" onclick="MySum(...);" href=".." target="_blank">测试</a> 以上是例子 根本没发取这个是HyperLink控件生成的 ID是已经被占用 你怎么去SID的值?我要的大概意思是onclick="MySum(sid);"
zhou_xuexi 2012-11-20
  • 打赏
  • 举报
回复

<asp:listview ID="lsView" runat="server" DataSourceID="SqlDataSource1" ItemPlaceholderID="ItemPlaceHolder">
            <LayoutTemplate>
          <table border="2">
            <thead>
              <tr>
                <th>ProductID</th>
                <th>ProductName</th>
                <th>UnitPrice</th>     
              </tr>
            </thead>
            <tbody>
              <asp:PlaceHolder  runat ="server" ID="ItemPlaceHolder"></asp:PlaceHolder>
            </tbody>
          </table>
        </LayoutTemplate>
        <ItemTemplate>
          <tr>
            <td><%# Eval("Number")%></td>
            <td><%# Eval("Name")%></td>
            <td><input type="button" id="btnal" onclick='t(<%# Eval("Number") %>)' value="点击我" /></td>
          </tr>
        </ItemTemplate>
        
        </asp:listview>
你可以看看这个,这个就没有问题啊
zhou_xuexi 2012-11-20
  • 打赏
  • 举报
回复
<asp:listview ID="lsView" runat="server" DataSourceID="SqlDataSource1" ItemPlaceholderID="ItemPlaceHolder"> <LayoutTemplate> <table border="2"> <thead> <tr> <th>ProductID</th> <th>ProductName</th> <th>UnitPrice</th> </tr> </thead> <tbody> <asp:PlaceHolder runat ="server" ID="ItemPlaceHolder"></asp:PlaceHolder> </tbody> </table> </LayoutTemplate> <ItemTemplate> <tr> <td><%# Eval("Number")%></td> <td><%# Eval("Name")%></td> <td><input type="button" id="btnal" onclick='t(<%# Eval("Number") %>)' value="点击我" /></td> </tr> </ItemTemplate> </asp:listview>
fox123871 2012-11-20
  • 打赏
  • 举报
回复
你onclick是点击这行的事件,与其他没关系,不会有效率的问题
zhou_xuexi 2012-11-20
  • 打赏
  • 举报
回复
你把listView整个贴出来看看
ThitLife 2012-11-20
  • 打赏
  • 举报
回复
引用 2 楼 fox123871 的回复:
你将ID隐藏放在同一行,点击事件触发后,再去或者这个ID就好了
我有几千行的话 这么生成 网页的效率就会降低
ThitLife 2012-11-20
  • 打赏
  • 举报
回复
引用 3 楼 zhou_xuexi 的回复:
onclick='MySum(<%# Eval("Id") %>)'你这个放在gridview里面还是repeater里面的?
放在 ListView里的
zhou_xuexi 2012-11-20
  • 打赏
  • 举报
回复
onclick='MySum(<%# Eval("Id") %>)'你这个放在gridview里面还是repeater里面的?
加载更多回复(2)

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧