在LinkBut​​ton的命令参数中获取ListBox的选定索引

时间:2015-04-21 20:44:00

标签: c# asp.net

我有一个包含项目的列表框

 <asp:ListBox ID="lbxRoles" runat="server" CssClass="lbxRoles" SelectionMode="Single" ></asp:ListBox>

它包含来自c#...&#39;管理员&#39;经理&#39;&#39;员工&#39;的值。

用户选择角色,然后点击“编辑”。

 <asp:LinkButton ID="lbtnEdit" runat="server" Text="Edit" CssClass="lbtnEdit" OnClick="lbtnEdit_Click" 
                    CommandArgument="'<%#( lbxRoles.ClientID ) selectedIndex%>' "></asp:LinkButton>

我在列表框中获取角色的selectedindex时遇到问题,无法进入&#39; lbtnEdit_Click&#39;功能。

1 个答案:

答案 0 :(得分:0)

显然,这不可能发生。我最终使用jquery来获取索引,然后将其传递给后面代码中的c#会话变量。这是我的代码。我希望它对某人有帮助。 :)

ASP:

<asp:ListBox ID="lbxRoles" runat="server" CssClass="lbxRoles" SelectionMode="Single"></asp:ListBox>

Jquery:

 $(".lbxRoles").click(function (e) {

             //disable add button
             enableDisableLinkButtons(false, true, true);

             //store roleid in session
             var selectedRoleId = $(this).find('option:selected').val();
             var selectedRoleIndex = $(this).find('option:selected').index();
              storeVarInSession(selectedRoleId, selectedRoleIndex);
          });

C#:

  [System.Web.Services.WebMethod]
public static void storeSessionVars(int? roleId, int? roleIndex)
{
    HttpContext.Current.Session["roleid"] = roleId;
    HttpContext.Current.Session["roleindex"] = roleIndex;


}