【发布时间】:2013-06-11 10:00:58
【问题描述】:
我有一个下拉列表,其自动回发设置为 true,并且 selectedindexchanged 事件用于某些逻辑。但条件是当页面上的其他数据发生更改时,我需要通过显示确认对话框来警告用户更改。我正在使用 javascript 来执行此操作,但问题是即使函数返回 true,也不会发生回发。我不知道出了什么问题。有人可以帮忙吗?
function ValidateDataChange() {
var isDataChanged = $('#<%=hdnDataIsChanged.ClientID %>').val();
if (isDataChanged == "True") {
alert(isDataChanged);
return false;
}
return true;
}
<asp:DropDownList ID="ddlHierarchy" runat="server" AppendDataBoundItems="true" AutoPostBack="true"
onchange="return ValidateDataChange();" Enabled="false" OnSelectedIndexChanged="ddlHierarchy_SelectedIndexChanged">
<asp:ListItem Value="" Text="--Select Hierarchy--"></asp:ListItem>
</asp:DropDownList>
<asp:HiddenField ID="hdnDataIsChanged" runat="server" />
protected void ddlHierarchy_SelectedIndexChanged(object sender, EventArgs e)
{
//mycode
}
【问题讨论】:
-
为什么你在这里使用 Enabled="false"?是否触发了警报?
-
在页面上执行搜索时将启用它。