0

2 つのリスト ボックスがあり、そのうちの 1 つはソースで、もう 1 つは宛先です。

ボタンクリックイベント後に、選択した項目を移動先のリストボックスに転送したい。

インターネットで検索したところ、ここからサンプルを見つけました。しかし、私の場合、うまくいきません。

私の ASP ソース ファイルは次のとおりです。

<asp:Table ID="tbvl" Width="100%" runat="server">
    <asp:TableRow>
        <asp:TableCell Width="45%">
            <asp:ListBox ID="lstsource" CssClass="uppercase" runat="server" Width="100%"  Height="140" SelectionMode="Multiple"></asp:ListBox>
        </asp:TableCell>
        <asp:TableCell Width="10%" HorizontalAlign="Center" Height="100%">
            <asp:Table ID="Table1" runat="server" Height="100%">
                  <asp:TableRow>
                        <asp:TableCell Height="25%"><asp:Button ID="btnsd" CssClass="button" runat="server"  Text=">>" Width="40" /></asp:TableCell>
                  </asp:TableRow>
                  <asp:TableRow>
                        <asp:TableCell Height="25%"><asp:Button ID="btnds" runat="server" CssClass="button" Text="<<" Width="40" /></asp:TableCell>
                  </asp:TableRow>
                  <asp:TableRow>
                        <asp:TableCell Height="25%"><asp:Button ID="btnallsd" runat="server" CssClass="button" Text=">" Width="40" /></asp:TableCell>
                  </asp:TableRow>
                  <asp:TableRow>
                        <asp:TableCell Height="25%"><asp:Button ID="btnallds" runat="server" CssClass="button" Text="<" Width="40" /></asp:TableCell>
                  </asp:TableRow>
              </asp:Table>
          </asp:TableCell>
          <asp:TableCell Width="50%">
               <asp:ListBox ID="lstdestination" runat="server" CssClass="uppercase" Width="100%" Height="140" SelectionMode="Multiple"></asp:ListBox>                            
          </asp:TableCell>
       </asp:TableRow>

</asp:Table>

そして私のClick()イベントは;

void btnallsd_Click(object sender, EventArgs e)
{
    for (int i = lstsource.Items.Count - 1; i >= 0; i--)
    {
        if (lstsource.Items[i].Selected)
        {
            lstdestination.Items.Add(lstsource.Items[i]);
            lstdestination.ClearSelection();
            lstsource.Items.Remove(lstsource.Items[i]);
        }
    }
}

ボタンをクリックすると、ページが更新されるだけですが、アイテムが宛先リスト ボックスに追加されません。

適切な出力を得るにはどうすればよいですか。

助けてください。

4

3 に答える 3

0

これを試して

protected void moveRight_Click(object sender, EventArgs e)
   {
   for (int i = 0; i < lbFirst.Items.Count; i++)
   {
   if (lbFirst.Items[i].Selected)
   {
   lbSecond.Items.Add(lbFirst.Items[i]);
   lbFirst.Items.Remove(lbFirst.Items[i]);
   }
   }
   }
于 2013-07-30T10:42:28.827 に答える