<asp:Panel id="contactsListContainer" runat="server">
<asp:Repeater ID="contactsListRepeater" runat="server">
<ItemTemplate>
<asp:Panel CssClass="contactsList" ID="contactList" runat="server" OnClick="contactLink_Click" CommandArgument='<%# ((AddressBook.Employee)Container.DataItem).Id %>' CausesValidation="false">
<asp:Label ID="lblContactName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Name") %>'></asp:Label>
<asp:Label ID="lblContactEmail" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Email") %>'></asp:Label>
<asp:Label ID="lblContactMobile" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "MobileNumber") %>'></asp:Label>
</asp:Panel>
</ItemTemplate>
</asp:Repeater>
</asp:Panel>
我想为联系人列表面板添加onclick事件。我该如何添加它。
这是单击该面板时要执行的代码。
protected void contactLink_Click(object sender, EventArgs e)
{
contactsForm.Style.Add("display", "none");
detailsContainer.Style.Add("display", "block");
LinkButton btn = (LinkButton)sender;
SelectEmpId = int.Parse(btn.CommandArgument);
LinkButton contactListLinkButton = getSelctedLinkButton();
contactListLinkButton.Style.Add("background-color", "#CEE7F2");
Employee employee = GetEmployee(SelectEmpId);
lblDetailName.Text = employee.Name;
lblDetailAddress.Text = employee.Address;
lblDetailMobile.Text = employee.MobileNumber;
lblDetailLandline.Text = employee.LandLineNumber;
lblDetailEmail.Text = employee.Email;
lblDetailWebsite.Text = employee.Website;
lblDetailAddress.Text = employee.Address;
}
答案 0 :(得分:0)
答案 1 :(得分:0)
<asp:Panel>
没有您可以处理的Click事件。
虽然您可能需要做一些CSS工作,但一个好方法是将您希望在服务器上可点击的内容包装在HTML锚点中,即
<a id="anchor" runat="server">
.. your stuff
</a>
您可以将Clicked处理程序添加到转发器/网格的ItemDataBound事件内的锚点,并指定您的contactLink_Click处理程序是处理转发器/网格中所有锚点/面板的事件的处理程序。
(此示例来自转发器,适用于GridView)
void contactsListRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
var item = e.Item;
if (item.ItemType == ListItemType.AlternatingItem || item.ItemType == ListItemType.Item)
{
var anchor = item.FindControl("anchor") as HtmlAnchor;
anchor.ServerClick += contactLink_Click;
}
}
请注意,sender
将成为引发点击事件的锚点,因此您可以从sender
深入查看正确的子控件(如果需要)