ASP.NET Select ListView 中的项目未被调用

ASP.NET Select item from ListView not being called

我想调用 ListView 的 SelectedIndexChanged 方法,但它不会在运行时进入 SelectedIndexChanged 方法。这是我的代码。

<asp:ListView ID="LeftsideMessageList" runat="server" ItemPlaceholderID="itemPlaceHolder1"  DataKeyNames="id" OnSelectedIndexChanged="LeftsideMessageList_SelectedIndexChanged"  >

后面的代码:

 protected void LeftsideMessageList_SelectedIndexChanged(object sender, EventArgs e)
    {

           string pid = LeftsideMessageList.SelectedDataKey.Value.ToString();
           MessageBusinessClass MBC = new MessageBusinessClass();
           string x = pid;
           int id = Convert.ToInt32(x);
           var grouplist = MBC.getSpecificGroup(x, Session["Username"].ToString()); //session
           Session["Groupname"] = grouplist.GroupName;
           Session["REmail"] = grouplist.Recipient.Email;   // message to

           GetRightMessageList(grouplist.Recipient.Email);

}

编辑:

我有一个 LinkBut​​ton,我曾经从中调用该方法,但我删除了它并想使用项目选择事件来调用该方法。

  <asp:LinkButton ID="lnkSelect"   runat="server"  ForeColor="White" >

设置AutoPostBack="true"

<asp:ListView ID="LeftsideMessageList" runat="server" ItemPlaceholderID="itemPlaceHolder1"  DataKeyNames="id" OnSelectedIndexChanged="LeftsideMessageList_SelectedIndexChanged" AutoPostBack="true">

您需要将 AutoPostBack 属性 设置为 true

<asp:ListView ID="LeftsideMessageList" runat="server"  AutoPostBack="true" ItemPlaceholderID="itemPlaceHolder1"  DataKeyNames="id" OnSelectedIndexChanged="LeftsideMessageList_SelectedIndexChanged"  >