Asp.net ListBox OnSelectedIndexChanged没有触发

时间:2017-11-22 18:37:36

标签: c# asp.net listbox

我创建了ListBox,设置了AutoPostBack =“true”和enableEventValidation =“false”。当我点击ListBox中的任何项目时,尽管OnSelectedIndexChange事件没有任何变化。我设置消息“Hello”必须弹出OnSelectedIndexChanged但不会发生。

WebForm1.aspx的

<%@ Page Language="C#" enableEventValidation="false" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
        </div>
        <asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True" Height="235px" Width="436px" OnSelectedIndexChanged="ListBox1_SelectedIndexChanged"></asp:ListBox>
    </form>
</body>
</html>

WebForm1.aspx.cs中:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        ServiceReference1.WebService1SoapClient client = new ServiceReference1.WebService1SoapClient();
        localhost.WebService1 asd = new localhost.WebService1();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                List<string> igralci = new List<string>();
                foreach (localhost.Igralec ig in asd.vrniVseIgralce())
                {
                    igralci.Add(ig.id + ", " + ig.ime + ", " + ig.priimek + ", " + ig.letoRojstva + "\n");
                }
                ListBox1.DataSource = igralci;
                ListBox1.DataBind();
            }

            }

        protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string script = "alert(\"Hello!\");";
            ScriptManager.RegisterStartupScript(this, GetType(),
                                  "ServerControlScript", script, true);
        }
    }
}

0 个答案:

没有答案