0
我一直在试图弄清楚如何让用户单击母版页中gridview中的一行。最终,我希望将用户重定向到另一个页面,使用gridview(hiddenfield列)中的值作为重定向到的页面的查询字符串值。jQuery单击主页面中的gridview行
这一点我只能得到gridview本身。我无法从gridview中获取行或单元格。
<script type="text/javascript">
$(document).ready(function() {
$('[id$=LeagueGV]').click(function() { alert('gridview clicked'); });
//window.location = "/League_Admin.aspx?LID=" + $(this).find('LeagueHidden').value();
//});
});
</script>
<asp:GridView runat="server" ID="LeagueGV" DataKeyNames="LeagueID" >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField runat="server" ID="LeagueHidden" Value='<%# Eval("LeagueID") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label runat="server" ID="LeagueIDLabel" Text='<%#Eval("LeagueID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="LeagueName" HeaderText="League Name" />
</Columns>
</asp:GridView>
谢谢Cory。 Gridview没有渲染为“LeagueGV”,但上面的jQuery *确实*找到了gv。 但更重要的是,你会说'这是一个意外事件',这很有趣。我从来没有真正想到过,Web ui当然不是我的强项。 我有一个可点击的gridivew在另一个项目中,我与rowdatabound一起使它成为'可点击的',我试图扩展它。很显然,超链接使事情变得更容易。 – IMAbev 2011-04-02 21:49:36
update - $('#GameGV')在母版页的内容中找不到gridview。上述语法是我可以在母版页中找到gv的唯一方法。 – IMAbev 2011-04-02 21:55:41
你是对的 - 你的语法意味着:找到所有元素的ID *结尾*与“LeagueGV”,这将比我所建议的更好。另外,让一行可点击并不一定是坏事,你只需要让它支持你定位的浏览器。您可能希望向用户提示它是可点击的,例如将光标更改为手形,并突出显示悬停时的行。 – 2011-04-03 15:45:39