gpt4 book ai didi

c# - 想要从控件的客户端实现可见性,而从服务器端不可见

转载 作者:搜寻专家 更新时间:2023-10-31 22:16:21 24 4
gpt4 key购买 nike

我在页面中有一个文本框。从服务器端将其可见性设置为 false。现在我想通过使用 java 脚本使它从客户端可见。 (在这种情况下无法实现任何回发或部分回发。)

<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ControlVisibilityClientSide</title>
<script type="text/javascript">
function toggleVisibility(controlId)
{
var control = document.getElementById(controlId);
if(control.style.visibility == "visible" || control.style.visibility == "")
control.style.visibility = "hidden";
else
control.style.visibility = "visible";
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<input type="button" ID="btnShowHide" value="Show/Hide" onclick="toggleVisibility('TextBox1');" />
</div>
</form>
</body>
</html>

这工作正常。

但是当我使用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Visible = false;
}
}

上面的代码根本不起作用。

任何人都可以帮助我解决这个问题,或者任何建议将不胜感激。

最佳答案

如果您设置控件 visible=false,它不会在客户端呈现,但有一个棘手的解决方案,可以完成同样的事情。

在你的页面加载中,你设置了Visible=false,你可以将style设置为display:none

protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Attributes.Add("style", "display:none");
}

它将在客户端呈现控件,但用户看不到,然后您可以在 Javascript 函数中看到控件以设置 style Diplay:block,LIKE...

document.getElementById('<%=TextBox2.ClientID %>').style.display = 'block';

关于c# - 想要从控件的客户端实现可见性,而从服务器端不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6247895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com