通过jquery向listbox控件添加值时出现无效回发错误
我有web用户控件,我在上面使用updatepanel。updatepanel中有listbox控件,我正在使用客户端脚本在其中添加日期 我在回发时收到无效的回发错误(当我单击“保存”按钮时)。在页面预呈现之前引发错误通过jquery向listbox控件添加值时出现无效回发错误,jquery,asp.net,vb.net,Jquery,Asp.net,Vb.net,我有web用户控件,我在上面使用updatepanel。updatepanel中有listbox控件,我正在使用客户端脚本在其中添加日期 我在回发时收到无效的回发错误(当我单击“保存”按钮时)。在页面预呈现之前引发错误 _endPostBack: function PageRequestManager$_endPostBack(error, executor, data) { if (this._request === executor.get_webRequest()) {
_endPostBack: function PageRequestManager$_endPostBack(error, executor, data) {
if (this._request === executor.get_webRequest()) {
this._processingRequest = false;
this._additionalInput = null;
this._request = null;
}
var eventArgs = new Sys.WebForms.EndRequestEventArgs(error, data ? data.dataItems : {}, executor);
Sys.Observer.raiseEvent(this, "endRequest", eventArgs);
if (error && !eventArgs.get_errorHandled()) {
throw error;
}
},
以下是用于在列表框控件中添加值的脚本。
function checkValue(el) {thrown
var txt = $("span[id$=spVisitDates] input[type=text]");
var svc = $(txt).val()
var lst = $('#lstVisitDates');
var options = $('#lstVisitDates option');
var alreadyExist = false;
$(options).each(function () {
if ($(this).val() == svc) {
alert("Item alread exists");
alreadyExist = true;
return;
}
});
if (!alreadyExist)
$(lst).find("option").attr("selected", false);
$(lst).append('<option value="' + svc + '" selected="selected">' + svc + '</option>');
$("#lstVisitDates").html($("#lstVisitDates option").sort(function (a, b) {
return parseDMY($(a).val()) < parseDMY($(b).val()) ? -1 : 1;
}));
我认为网页不知道列表框的值,这就是它抛出错误消息的原因
已添加
我已成功地将列表框值以逗号分隔的格式保存在隐藏字段中,并在按钮保存单击事件时清空列表框,并在回发后将值添加回列表
我不知道这是不是最好的方法。还有别的办法吗?你读了吗?是的,我已通过该链接如何使覆盖子渲染工作?
<asp:ListBox runat="server" ID="lstVisitDates" Width="220px"
ClientIDMode="Static" SelectionMode="Multiple"></asp:ListBox>
Protected Overrides Sub Render(writer As HtmlTextWriter)
For Each item As ListItem In lstVisitDates.Items
Page.ClientScript.RegisterForEventValidation(lstVisitDates.UniqueID, item.Value)
Next
MyBase.Render(writer)
End Sub