【发布时间】:2011-04-14 06:57:40
【问题描述】:
我正在尝试实现一个 onclick 事件来选择 asp:ListViewControl 中的一个项目。
<ItemTemplate>
<tr runat="server" id="MemberRow" onclick='<%#ClientScript.GetPostBackClientHyperlink(LvMembers, string.Format("Select${0}", Container.DataItemIndex)) %>'>
<td>
<asp:Literal runat="server" ID="LtlMembershipNumber" Text='<%#Eval("MembershipNo") %>' />
</td>
<td>
<asp:Literal runat="server" ID="LtlName" Text='<%#Eval("FullName") %>' />
</td>
<td>
<asp:Literal runat="server" ID="LtlCompany" Text='<%#Eval("Company") %>' />
</td>
<td>
<asp:Literal runat="server" ID="LtlNotes" Text='<%#Eval("Notes") %>' />
</td>
<td runat="server">
<asp:Literal runat="server" ID="LtlMobile" Text='<%#Eval("MobilePhone") %>' /><asp:LinkButton
runat="server" ID="lnl1" CommandName="Select" Text="test" />
</td>
</tr>
</ItemTemplate>
页面按预期加载和绑定。它还输出我期望的 HTML。
<tr id="ContentPlaceHolder1_LvMembers_MemberRow_1" onclick="javascript:__doPostBack('ctl00$ContentPlaceHolder1$LvMembers','Select$1')">
<td>
10000018
</td>
<td>
Axel Rose
</td>
<td>
</td>
<td>
</td>
<td>
<a id="ContentPlaceHolder1_LvMembers_lnl1_1" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$LvMembers$ctrl1$lnl1','')">test</a>
</td>
</tr>
但是 onclick 不会触发 ListView.Command 或 ListView.SelectedIndexChanging 事件?如果我添加一个带有 CommandName="Select" 的按钮,它会按预期工作吗? POST数据是一样的!
{__EVENTTARGET=ctl00%24ContentPlaceHolder1%24LvMembers&__EVENTARGUMENT=Select%245&__VIEWSTATE=...}
【问题讨论】:
标签: javascript asp.net listview onclick