asp.net – GridView中的DropDownList SelectedIndexChanged没有
发布时间:2020-12-16 03:33:35 所属栏目:asp.Net 来源:网络整理
导读:我一直在寻找一个解决方案,但看到许多帖子告诉我如何做但但是当DropDownList被更改时我无法触发我的SelectedIndexChanged事件. DropDownList AutoPostBack设置为True,我也遵循以下帖子中的代码: Link to post 这是我的代码: .ASPX asp:GridView ID="gvCase
我一直在寻找一个解决方案,但看到许多帖子告诉我如何做但但是当DropDownList被更改时我无法触发我的SelectedIndexChanged事件.
DropDownList AutoPostBack设置为True,我也遵循以下帖子中的代码: 这是我的代码: .ASPX <asp:GridView ID="gvCases" DataKeyNames="UserId" runat="server" AutoGenerateColumns="False" BorderWidth="0px" CssClass="gridList" GridLines="None"> <AlternatingRowStyle BackColor="#F7F7F7" /> <Columns> <asp:BoundField DataField="id" HeaderText="Case Ref" /> <asp:TemplateField HeaderText="Name"> <ItemTemplate> <asp:Label ID="clientName" runat="server" Text="Label"></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="company" HeaderText="Company" /> <asp:TemplateField HeaderText="Order Date"> <ItemTemplate> <asp:Label ID="dateTime" runat="server" Text="Label"></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Case Owner"> <ItemTemplate> <asp:DropDownList ID="iconUsers" runat="server" OnSelectedIndexChanged="iconUsers_SelectedIndexChanged"> </asp:DropDownList> </ItemTemplate> </asp:TemplateField> <asp:TemplateField ShowHeader="False"> <ItemTemplate> <asp:Button ID="btnDetails" runat="server" CausesValidation="False" Text="Details" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField ShowHeader="False"> <ItemTemplate> <asp:Button ID="btnSchedule" runat="server" CausesValidation="False" Text="Schedule" /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> .VB Protected Sub Page_Load(ByVal sender As Object,ByVal e As System.EventArgs) Handles Me.Load If (Request.IsAuthenticated = False) Then Response.Redirect("~/admin/default.aspx") End If Dim keypadSQL As SqlConnection = New SqlConnection() keypadSQL.ConnectionString = ConfigurationManager.ConnectionStrings("connKeypad").ConnectionString() Dim cmdActive As SqlCommand = New SqlCommand() cmdActive.Connection = keypadSQL cmdActive.CommandText = "spCasesActive" cmdActive.CommandType = CommandType.StoredProcedure Dim daCases As SqlDataAdapter = New SqlDataAdapter daCases.SelectCommand = cmdActive Dim dsCases As DataSet = New DataSet() daCases.Fill(dsCases,"CaseList") Dim CaseTotal As Integer CaseTotal = dsCases.Tables(0).Rows.Count If CaseTotal = 1 Then iCaseTotal.InnerHtml = CaseTotal & " Case" Else iCaseTotal.InnerHtml = CaseTotal & " Cases" End If gvCases.DataSource = dsCases gvCases.DataBind() cmdActive.Dispose() If Page.IsPostBack Then End If End Sub Protected Sub gvCases_RowDataBound(ByVal sender As Object,ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvCases.RowDataBound If e.Row.RowType = DataControlRowType.Header Then gvCases.Columns(5).ItemStyle.Width() = "60" gvCases.Columns(6).ItemStyle.Width() = "70" End If If e.Row.RowType = DataControlRowType.DataRow Then Dim rowView As DataRowView = CType(e.Row.DataItem,DataRowView) Dim strClientName As String Dim clientName As Label strClientName = rowView("firstname") & " " & rowView("lastname") clientName = CType(e.Row.FindControl("clientName"),Label) clientName.Text = strClientName Dim strDateTime As String Dim dateTime As Label strDateTime = rowView("CaseSent") dateTime = CType(e.Row.FindControl("dateTime"),Label) dateTime.Text = FormatDateTime(strDateTime,DateFormat.ShortDate) & "<br />" & FormatDateTime(strDateTime,DateFormat.ShortTime) gvCases.Columns(3).ItemStyle.Font.Size = 8 gvCases.Columns(5).ControlStyle.CssClass = "btnEdit" gvCases.Columns(6).ControlStyle.CssClass = "btnSchedule" Dim intUserId As String intUserId = Convert.ToString(gvCases.DataKeys(e.Row.RowIndex).Value) Dim cmd As New SqlCommand("SELECT id,Firstname,Lastname,Firstname + ' ' + Lastname As FullName FROM [users_icon] ORDER BY Firstname,Lastname",New SqlConnection(ConfigurationManager.ConnectionStrings("connKeypad").ConnectionString())) cmd.Connection.Open() Dim ddlValues As SqlDataReader ddlValues = cmd.ExecuteReader() Dim iconUsers As DropDownList iconUsers = CType(e.Row.FindControl("iconUsers"),DropDownList) iconUsers.Style.Add("font-size","11px") iconUsers.DataSource = ddlValues iconUsers.DataValueField = "id" iconUsers.DataTextField = "FullName" iconUsers.DataBind() Dim ListItem1 = New ListItem("Select Case Owner","0") iconUsers.Items.Insert("0",ListItem1) iconUsers.AutoPostBack = True If IsDBNull(rowView("CaSEOwner")) Then iconUsers.SelectedValue = 0 Else iconUsers.SelectedValue = rowView("CaSEOwner") End If AddHandler iconUsers.SelectedIndexChanged,AddressOf iconUsers_SelectedIndexChanged cmd.Connection.Close() cmd.Connection.Dispose() Dim btnDetails As Button = CType(e.Row.FindControl("btnDetails"),Button) btnDetails.PostBackUrl = "~/admin/detail.aspx?uid=" & intUserId Dim LabelAddress As Button = CType(e.Row.FindControl("btnSchedule"),Button) LabelAddress.PostBackUrl = "~/admin/schedule.aspx?uid=" & intUserId End If End Sub Protected Sub iconUsers_SelectedIndexChanged(ByVal sender As Object,ByVal e As System.EventArgs) Response.Write("Function Called") End Sub 谢谢你的帮助. 解决方法
有一些类似的问题(见
Event handler not firing using AddHandler
和 Assign an event to a custom control inside a Repeater control),但你的特殊情况看起来像你正在添加处理程序两次;一次在标记中,一次在数据绑定上. 我将删除RowDataBound事件中的那个(因为它没有做任何事情,因为当你回发时处理程序将丢失,并且在事件实际触发后添加处理程序).另外,请确保将@Bala提及AutoPostBack. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 提供HTTP401 Not Authorized错误的VB.Net Web方
- asp.net-mvc-4 – Html.LabelFor始终显示属性名称而不是值
- asp.net-mvc-3 – 使用多个Web应用程序共享控制器和视图
- asp.net/C#中的请求来源
- asp.net – Async / Await vs TPL vs WCF Service vs Web A
- asp.net-mvc – ASP.Net MVC:发送JSON到控制器
- Asp.NET下拉列表方向
- ASP.NET WebApi 自带Json返回日期带T无法格式化的问题
- 用asp.net core 2.0 + EFCore.Sqlite做个小网站
- asp.net-mvc – ASP.Net MVC 4通用主要困难
推荐文章
站长推荐
- 将Instant Messaging集成到ASP.NET应用程序中
- 基于asp.net下使用jquery实现ajax的解决方法
- asp.net – 使用Microsoft Access和VB.NET进行SQ
- asp.net – 下拉列表和字段验证引起了骚乱
- 如何将asp.net文本框滚动到底部
- AntiForgery令牌使用ASP.NET5 Web API而不使用NE
- asp.net – 如何验证文件上传的文件类型?
- asp.net – Kestrel和Katana之间的区别
- asp.net-mvc – MVC:如何将文件上传和其他表单字
- asp.net-mvc-4 – 无法让ASP.NET 4 Web API返回状
热点阅读