我正在使用转发器动态填充表格,并且我希望在行上点击时触发asp:HyperLink。
<td id="hyperLink">
<asp:HyperLink ID="lnkDocPage_<%# Eval("ID")%>" ClientIDMode="Static" NavigateUrl="~/Pages/DocumentListPage.aspx?id=<%# Eval("ID")%>" Text="" runat="server">link</asp:HyperLink>
</td>
这是带有超链接的td。
这是脚本,遗憾的是,它不会将用户重定向到DocumentListPage页面。
function bindRowClick() {
$('#productTable').find('tr').click(function () {
var id = $(this).find('th:first').text().replace(/\s+/g, " ");
id = ($.trim(id)).split(' ')[1];
var lnkButtonID = '#lnkDocPage_' + id;
alert($(lnkButtonID).attr('href'));
window.location = $(lnkButtonID).attr('href');
});
}
由于每个超链接都有一个唯一的ID,具体取决于行我首先计算id。 我试图看看选择器'$(lnkButtonID)'是否正常工作 - 是的,似乎我正在获取超链接,但由于某种原因,我无法重定向到超链接的NavigateUrl。
感谢任何帮助。
答案 0 :(得分:1)
您可以使用以下方式执行此操作:
$('table').on('click', 'tr', function () {
$(this).find('a[id*="lnkDocPage_"]').trigger('click');
});
表达式id*="lnkDocPage_"
匹配id
包含lnkDocPage_
的元素,并在点击嵌套的表行时触发点击事件。
如果您在每个tr
元素中只有一个锚标记:
$('table').on('click', 'tr', function () {
$(this).find('a').trigger('click');
});
答案 1 :(得分:1)
只需使用事件beforeunload,因为导航到其他页面所有功能都被禁用。
window.addEventListener(&#34; beforeunload&#34;,function(event){ event.preventDefault(); //或显示进度条......
});
答案 2 :(得分:0)
<td id="hyperLink">
<asp:HyperLink ID="lnkDocPage_<%# Eval("ID")%>" ClientIDMode="Static" NavigateUrl="~/Pages/DocumentListPage.aspx?id=<%# Eval("ID")%>" Text="" runat="server">link</asp:HyperLink>
</td>
以下是脚本
$(document).ready(function(){
$('#productTable').find('tr').click(function () {
$(this).find('a[id^="lnkDocPage_"]').trigger("click");
});
});