代码改变世界

脚本与后端数据传递小技巧

  Clingingboy  阅读(1064)  评论(1编辑  收藏  举报
           表单中input标签为文本框,其提供了一个隐藏域,可以用来保存输入的内容,像div这样的标签,即使使用脚本使其内部值发生了变化,但是无法保存值,所以隐藏域的作用就提升了.可以来测试下.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected 
void Button2_Click(object sender, EventArgs e)
    
{
        Label1.Text 
= HiddenField1.Value + TextBox1.Text + aaa.InnerHtml;
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title>无标题页</title>
<script language="javascript" type="text/javascript">
// <!CDATA[

function aa() {
document.getElementById(
"HiddenField1").value="a";
document.getElementById(
"TextBox1").value="b";
document.getElementById(
"aaa").innerHTML="c";
}


// ]]>
</script>
</head>
<body>
    
<form id="form1" runat="server">
        
<input id="Hidden1" type="hidden" />
      
<asp:HiddenField ID="HiddenField1" runat="server" />
        
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        
<div id="aaa" runat="server"></div>
        
<br />
            
<input id="Button1" type="button" value="button" onclick="aa()" />
        
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Button" />
    
</form>
</body>
</html>

这样的使用方法在控件中非常常用,AjaxControlToolkit的基类ExtenderControlBase也使用了这样了方法,其提供了ClientState属性可以获取隐藏域的值.方便了前台和后台的交互
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示