ASP.Net:为什么我的按钮的点击/命令事件没有在转发器中绑定/触发?
发布时间:2020-12-15 16:11:08 所属栏目:asp.Net 来源:互联网
导读:这是来自ascx的具有中继器的代码: asp:Repeater ID=ListOfEmails runat=server HeaderTemplateh3A sub-header:/h3/HeaderTemplate ItemTemplate [Some other stuff is here] asp:Butto
|
这是来自ascx的具有中继器的代码: <asp:Repeater ID="ListOfEmails" runat="server" >
<HeaderTemplate><h3>A sub-header:</h3></HeaderTemplate>
<ItemTemplate>
[Some other stuff is here]
<asp:Button ID="removeEmail" runat="server" Text="X" ToolTip="remove" />
</ItemTemplate>
</asp:Repeater>
在中继器的数据绑定和事件的代码中: Protected Sub ListOfEmails_ItemDataBound(ByVal sender As Object,ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles ListOfEmails.ItemDataBound
If (e.Item.ItemType = ListItemType.Item) Or (e.Item.ItemType = ListItemType.AlternatingItem) Then
Dim removeEmail As Button = CType(e.Item.FindControl("removeEmail"),Button)
removeEmail.CommandArgument = e.Item.ItemIndex.ToString()
AddHandler removeEmail.Click,AddressOf removeEmail_Click
AddHandler removeEmail.Command,AddressOf removeEmail_Command
End If
End Sub
Sub removeEmail_Click(ByVal sender As Object,ByVal e As System.EventArgs)
Response.Write("<h1>click</h1>")
End Sub
Sub removeEmail_Command(ByVal sender As Object,ByVal e As CommandEventArgs)
Response.Write("<h1>command</h1>")
End Sub
点击或命令都没有被调用,我做错了什么? 解决方法嵌套在中继器内部的控件不会拦截事件.相反,您需要绑定到Repeater.ItemCommand事件.ItemCommand包含RepeaterCommandEventArgs,它有两个重要的字段: > CommandName 所以,一个微不足道的例子: void rptr_ItemDataBound(object sender,RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
// Stuff to databind
Button myButton = (Button)e.Item.FindControl("myButton");
myButton.CommandName = "Add";
myButton.CommandArgument = "Some Identifying Argument";
}
}
void rptr_ItemCommand(object source,RepeaterCommandEventArgs e)
{
if (e.CommandName == "Add")
{
// Do your event
}
}
编辑:Markdown完全希望我的缩进,哦,我应该停止在这个文本框中编写代码. (编辑:南阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ELMAH和SQL Server 2008 R2?
- ASP.NET如何确定是否排队请求?
- 单元测试 – 如何在ASP MVC 5(Microsoft.AspNet.Identity)中
- asp.net 根据汉字的拼音首字母搜索数据库(附 LINQ 调用方法
- asp.net-mvc – IIS显示服务器错误而不是自定义错误
- asp.net – Ajax上的Identity Server 3 – 401而不是302
- 验证 – Asp.Net MVC:子请求的执行失败.请查看InnerExcept
- asp.net-mvc-3 – 如何将复选框绑定到mvc3中的viewmodel
- ASP.NET网站攻击:如何回应?
- asp.net-mvc – 在.NET MVC上启用Http PUT请求
推荐文章
站长推荐
- asp.net-mvc – 带vNext的MVC 6:我们还需要Glob
- .NET 3.5 / VS 2008上的ASP.NET Web Services的自
- asp.net-mvc – SelectListItem中的Selected属性
- asp.net – Azure可以运行WPF吗?
- asp.net-mvc – 如何在ASP.NET MVC中生成弹出页面
- asp.net-mvc – ASP.NET MVC:处理取消按钮的正确
- asp.net – 如何从WCF客户端拦截raw soap reques
- ASP.NET web.config中数据库连接字符串connectio
- ASP.Net Web应用程序安全性不适用于IIS 7?
- asp.net – Orchard CMS Media中的文件大小上传限
热点阅读
