我有两个列表框。一个填充在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
中,然后才能从服务器端的隐藏字段中获得这些项目。
这是因为您在客户端所做的更改在服务器端不可用。