客户端javaScript切换DropDownList在回发时反转效果?

客户端javaScript切换DropDownList在回发时反转效果?,javascript,asp.net,postback,Javascript,Asp.net,Postback,我使用下面的JavaScript切换ASP.NET页面中的DropDownList,当我单击按钮时会调用它。我有4-5对下拉列表/切换按钮。每个切换按钮切换关联dropdownlist上的启用/禁用属性 function toggleDisableDropDown(dropDownID) { var element = document.getElementById(dropDownID); // get the DOM element if (element) { // elemen

我使用下面的JavaScript切换ASP.NET页面中的DropDownList,当我单击按钮时会调用它。我有4-5对下拉列表/切换按钮。每个切换按钮切换关联dropdownlist上的启用/禁用属性

function toggleDisableDropDown(dropDownID) {
  var element = document.getElementById(dropDownID); // get the DOM element

  if (element) { // element found
    element.disabled = !element.disabled; // invert the boolean attribute
  }

  return false; // prevent default action
}
但是我的一个下拉列表每次都需要回发。我选择一个项目来填充另一个dropdownlist,我注意到在这个回发上,我的所有其他dropdownlist都被javascript禁用(用户单击这些dropdownlist的切换按钮)被启用


这里发生了什么?如何修复它?

Javascript DOM操作与服务器上控件的保存状态无关。更改客户端DropDownList上的enabled属性对于服务器上的控件状态来说是未知的

//Html
<input type="hidden" name="_trackingDropdown1" value="true" />
回发使用控件的最后一个已知状态重新创建dropdownlist。如果要使用客户端上的最后一个状态重新呈现它们,还需要发布一些客户端跟踪信息。您可以在隐藏字段中跟踪每个dropdownlist的客户端状态,并使用这些隐藏字段中的发布值更新服务器上dropdownlist的Enabled属性

//Html
<input type="hidden" name="_trackingDropdown1" value="true" />


我在bool.TryParse(Request.Params[“\u trackingDropDown1”],out-DropDownList1.Enabled)上遇到以下错误。属性或索引器不能作为out或ref参数传递。哦,只需使用临时变量即可。布尔结果;bool.TryParse(Request.Params[“_trackingDropDown1”],输出结果);DropDownList1.Enabled=结果;
//On Server during postback handling
if (Request.Params["_trackingDropDown1"] != null)
{
    bool.TryParse(Request.Params["_trackingDropDown1"], out DropDownList1.Enabled);
}