我有两个列表框。一个填充在Page_Load上,另一个保留为空。
用户具有用于将用户从第一个列表添加到第二个列表并返回的按钮。
提交表单后,第二个列表为空,就像发送给客户端时一样。这是JS代码:

function add() {
        $('#AvailableUsers option:selected').appendTo('#SelectedUsers');
    }

    function addall() {
        $('#AvailableUsers option').appendTo('#SelectedUsers');
    }

    function remove() {
        $('#SelectedUsers option:selected').appendTo('#AvailableUsers');
    }

    function removeall() {
        $('#SelectedUsers option').appendTo('#AvailableUsers');
    }


如何将客户端更改带回到服务器端?

编辑:服务器端代码:

bool canDismiss = chkCanDismiss.Checked;
        string messageText = tbMessageText.Text;
        PaymentsDataContext db = new PaymentsDataContext();
        foreach (ListItem li in SelectedUsers.Items)
        {
            UserMessages newMessage = new UserMessages();
            newMessage.userName = li.Text;
            newMessage.messageText = messageText;
            newMessage.dismissed = false;
            newMessage.canDismiss = canDismiss;
            db.UserMessages.InsertOnSubmit(newMessage);
        }
        db.SubmitChanges();

最佳答案

您还必须将这些项目附加/存储在hidden field中,然后才能从服务器端的隐藏字段中获得这些项目。

这是因为您在客户端所做的更改在服务器端不可用。

09-28 00:45