【发布时间】:2009-12-31 21:03:45
【问题描述】:
我有一些 JavaScript 来切换 ASP.NET 页面中的下拉列表,当我单击按钮时会调用该下拉列表。我有 4-5 个下拉列表/切换按钮对。每个切换按钮都会切换相关下拉列表上的启用/禁用属性。
我保存了一个隐藏字段的 disabled 属性值来跟踪回发之间按钮的禁用状态,使用以下 javascript
function disableButton(dropdownID)
{
var element = document.getElementById(dropdownID); // get the DOM element
var trackingField = document.getElementById("_tracking" + dropdownID);
if (element) {
trackingField.value = element.disabled;
//sending the element.disabled instead of "!element.disabled" since we are
//setting dropdownlist.enabled property so is already negated for us
element.disabled = !element.disabled; // invert the boolean attribute
}
return false; // prevent default action
}
HTML
<input type="hidden" name="_trackingdropdownlist" id="_trackingdropdownlist" value="true" />
代码
if (Request.Params[_trackingdropdownlist] != null)
{
bool val = true;
bool.TryParse(Request.Params[_trackingdropdownlist], out val);
dropdownlist.Enabled = val;
}
所以下拉列表的状态在第一次回发往返时保持不变,但之后所有下拉列表都被启用。这里出了什么问题?
*注意:这些下拉列表中的默认启用属性值为 false。
【问题讨论】:
标签: javascript asp.net postback