如何从javascript中使服务器端标签显示为false?

时间:2011-11-11 06:03:37

标签: javascript asp.net

我有以下标签

 <asp:Label ID="lblErrorMessage" runat="server" Visible="false" ForeColor="Red" CssClass="ControlWidth"></asp:Label>

哪个是可见的错误。按钮保存,如果页面上有任何错误,我将其显示并显示错误信息。

在取消按钮上我正在清除这个标签的文本

  var lblErrorMessage = document.getElementById('<%=lblErrorMessage.ClientID%>');

  lblErrorMessage.innerHTML = "";
  lblErrorMessage.innerText = "";

但是当我在页面上做一些其他的操作时,页面会得到回发和错误信息

我清除的内容可见。

任何人都可以告诉我如何通过javascript使标签Visible false,以及

在回发时无法显示。

1 个答案:

答案 0 :(得分:0)

如果你想完全避免这个问题,请让你的cancel按钮进行回发并清除标签值,并在服务器端再次将其可见性设置为false,而不是从客户端进行。发生这种情况的原因是因为即使你用javascript清除标签innerText和innerHtml; ViewState仍然包含旧值,所以当你回发时;它恢复了这些价值观。

如果你认为你可以在没有为wrror标签启用ViewState的情况下离开,你可以禁用它,问题就会消失;例如:

<asp:label id="errorlabel" EnableViewState="false" />