使用visible = false的ASP.NET控件不能在javascript中使用?

Nev*_*hai 6 javascript asp.net visibility

我有一个ASP.NET文本控件"FromDate",其visible属性设置为false,但我希望客户端javascript能够使用CSS属性切换visibility属性

element1.style.display = "none"; // hides the element
element1.style.display = ""; // shows the element
Run Code Online (Sandbox Code Playgroud)

但是当我试图获取文本框时,我得到了null

  var element1 = document.getElementById("FromDate");
Run Code Online (Sandbox Code Playgroud)

当我尝试将相同的代码与visble = true作为"FromDate"ASP.NET控件的默认值时,它可以工作(虽然这不是我需要的行为)

有任何想法吗?

Gab*_*ams 17

将Visible = false设置为控件时,不会呈现它.这意味着没有发送到页面的控件的HTML表示.仅设置样式.

您可以将样式设置为display:none,来自服务器端代码,如下所示:

FromDate.Style.Add(HtmlTextWriterStyle.Display, "none")
Run Code Online (Sandbox Code Playgroud)


小智 13

如果你想隐藏这个控件,你可以尝试这样的CSS:

<asp:somecontrol id="FromDate" style="display:none" />
Run Code Online (Sandbox Code Playgroud)

我认为用CSS隐藏控件更容易理解.

  • 来自代码:somecontrol.Style("display")="none" (2认同)