asp.net datalist中绑定多个<a/>超链接标签,实现点击每个链接弹出一个层,显示不同信息
我写的前台代码: <asp:DataList ID="DataList2" runat="server" >
<ItemTemplate>
<tr>
<td width="80" height="30">
<span class='Page2List'>
<a class='Page2List' href="#" id="click_test1"><%#Eval("UserName")%></a><asp:HiddenField ID="HF" runat="server" Value='<%#Eval("UID")%>' />
</td>
<td width="15"><img src="images/2.gif" width="15" height="18" /></td>
<td width="850" align="left"><span class="putong"> <%#Eval("Content") %> </span></td>
<td width="45" height="18px" bgcolor='<%#Eval("StatusColor") %>' align="center"><span class="putong"><strong> <%#Eval("UserStatus") %><strong></span></td>
</tr>
<tr><td colspan="3" height="2" background="images/3.gif" align="center"></td></tr>
</ItemTemplate>
</asp:DataList>
jqury代码如下:
<script type="text/javascript">
T$('click_test1').onclick = function () { TINY.box.show('InfoShow.aspx', 1, 300, 150, 1) }
但是这样只是弹出datalist第一行的链接,并且我想往'InfoShow.aspx'页面传值怎么传??
或者说有其他的方法也可以的。非常感谢!
'InfoShow.aspx?a=1&b=2&id=<%#Eval("Id")%>' url传
我试过了,这样不行啊
@lijunmomo: <input type="hidden" id=hdId value='<%#Eval("Id")%>'> 你在repeater中放个隐藏域存放id 然后通过js获取隐藏域的value 或者function Serach(a,b) { TINY.box.show('InfoShow.aspx?a="+a+"&b="+b"'", 1, 300, 150, 1) } <a onclick="Serach(你要传的值)"></a>这里写的是伪代码 只是表达一种方式 希望能帮到你
@wolfy: 谢谢你,问题解决了
TINY.box.show('InfoShow.aspx?a="+a+"&b="+b"'", 1, 300, 150, 1)这个地方不对,
TINY.box.show('InfoShow.aspx?a='+a+'', 1, 350, 150, 1)这样能传值过去的
<a class='Page2List' href='javascirpt:viod(0)' onclick='clickFunc(<% #Eval("Id")%>);' >Text</a>
首先,id的用法是保持页面内唯一。你是在tr中循环写入id,那么实际上,你的界面上会产生多个id重名的标签。
可以如下修改:
<a class='Page2List' href="#" class="click_test1"><%#Eval("UserName")%></a><asp:HiddenField ID="HF" runat="server" Value='<%#Eval("UID")%>' />
然后用JQuery的类选择器:
$('.click_test1').on('click',function(){ //这里写点击后要做的事情。如alert('click');
//要获取值的话,用var $el=$(this);然后用$el取属性
});
你好,现在的问题是'InfoShow.aspx'页面用request.querystring根本获取不到值,我该怎么做呢?
@lijunmomo:看你最终请求的url是多少?看你的请求信息中,是否包含那些参数。