当前位置: 首页 > news >正文

ASP.NET的Form表单

Form 表单:一个页面只能有一个

runat=“server”不是必须的,加上后,会在输出的源代码里多了一行
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzgzNDMwNTMzZGR/8ZxOm5Tn0sfHNJaqE12hKqqJTQ==" />
嘿,这不就是传说中的viewstate吗。原来这就是.net中的FORM跟HTML中FORM的区别。
viewstate是通过HTML控件的 name属性来跟踪HTML控件中的数据,这就是为什么在HTML控件中输入数据时也能显示以前曾经输入过的数据。
假如FORM没有加runat="server"属性的话,HTML控件就不会有这样的效果了。如果FORM加了runat属性,则它的action属性便会失效,或者说action属性值永远为本页。 【action属性】的 默认值应该是本页 【method】 默认的值是get
html Form 表单:一个页面可以有多个 【action属性】的 默认值应该是submit按钮触发到action的指向页面
表单的动作属性(Action)和确认按钮当用户单击确认按钮时,表单的内容会被传送到另一个文件。表单的动作属性定义了目的文件的文件名。由动作属性定义的这个文件通常会对接收到的输入数据进行相关的处理。 【method】 Method的默认值为Get
在客户端,Get方式在通过URL提交数据;而Post提交后地栏不变。
在服务器端只能用Request.QueryString来获取Get方式提交来的数据,用Post方式提交的数据只能用Request.Form来获取。
特别说明
一般来说,尽量避免使用Get方式提交表单,因为有可能会导致安全问题。比如说在登陆表单中用Get方式,用户输入的用户名和密码将在地址栏中暴露无遗。不过在分页程序中,用Get方式就比用Post好。
Get把参数添加到action属性指定的地址中,并以锚方式打开。
Post通过HTTP post处理发送数据。

HTML Form的表单取值:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="htmlInput.aspx.cs" Inherits="htmlInput" %>

<!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 runat="server">
<title>html标签演示</title>

<script type="text/javascript">
function getValue()
{
var obj = document.getElementsByName("textName");//使用文本框的name属性
var obj2 = document.getElementById("password1").value;//使用密码框的id属性
var obj3 = document.getElementById("textarea1").value;//name名称:不区分大小写

alert(obj[0].value + "\r" + obj2 + "\r" + obj3);
//alert("换\r行") confirm("abcdef\u000d123456")


  • //单选框
    var oSex = document.getElementsByName("sex");//获取的是一个集合
    var ssex = "";
    for (var i=0;i<oSex.length;i++)
    {
    if (oSex[i].checked)
    {
    ssex = oSex[i].value;
    break;
    }
    }
    if (ssex == "")
    alert("Please choose a Sex!!");
    else
    alert("Your Sex is: " + ssex);


    //多选框
    var oLike = document.getElementsByName("Like");//获取的是一个集合
    var slike = "";
    for (var i=0;i<oLike.length;i++)
    {
    if (oLike[i].checked)
    {
    slike += oLike[i].value + ",";
    }
    }
    if (slike == "")
    alert("Please choose a Like!!");
    else
    alert("Your Like is: " + slike);
  • }

    function getValue2()
    {
    var obj = document.getElementById("File1").value;//文件上传路径,FF 3上可能会有问题
    var obj2 = document.getElementById("select1").value;//下拉框

    alert(obj + "\r" + obj2);
    }
    </script>
  • </head>
    <body>
    <form id="form1" action="getValue.aspx" method="post">
    <div>
    <ul>
    HTML控件:
    <li>文本框:
    <input id="Text1" name="textName" /></li><!--type="text"可以不写,默认值-->
    <li>密码框:
    <input id="Password1" type="password" name="pwd" /></li>
    <li>隐藏框:
    <input id="Hidden1" type="hidden" name="hidden" value="abcde" /></li>
    <li>单选框:
    <input type="radio" name="sex" value="男" />男<input type="radio" name="sex" value="女" />女</li>
    <li>复选框:
    <input id="Checkbox1" type="checkbox" name="like" value="1" />足球<input id="Checkbox2"
    type="checkbox" name="like" value="2" />篮球<input id="Checkbox3" type="checkbox" name="like"
    value="3" />排球<input id="Checkbox4" type="checkbox" name="like" value="4" />台球</li>
    <li>多行文本框:
    <textarea id="TextArea1" cols="20" rows="2" name="txtArea"></textarea></li>
    <li>普通按钮:
    <input id="Button1" type="button" value="button" name="btn" οnclick="getValue()" /></li>
    <li>提交按钮:
    <input id="Submit1" type="submit" value="submit" name="btnSubmit" /></li>
    <li>清空按钮:
    <input id="Reset1" type="reset" value="reset" name="btnCancel" /></li>
    </ul>
    </div>
    <hr />
    <div>
    <ul>
    <li>
    文件上传:<input id="File1" type="file" name="file" /></li>
    <li>下拉框:
    <select id="Select1" name="select">
    <option value="1北京">北京</option>
    <option value="2上海">上海</option>
    <option value="3山东">山东</option>
    </select>
    </li>
    <li>
    <img src="image/logo-yy.gif" alt="aaa" title="baidu" /></li>
    <li>
    <input id="Button2" type="button" value="button" name="btn2" οnclick="getValue2()" /></li>
    <li>
    <span id="test">aaaaaaa</span>
    </li>
    </ul>
    </div>
    </form>
    </body>
    </html>

相关文章:

  • python类装饰器应用_如何理解下面python代码装饰器的应用?
  • W3C标准的HTML标签--按功能类别排列
  • 服务器压力测试_【学习记录】第一篇:性能测试基础
  • ORA-02068: 以下严重错误源于 TO_XXXX.DW ORA-03135: 连接失去联系 问题的解决
  • python数列求和1+11+111前n项_Leetcode Python算法(11)-----外观数列
  • TFS(Team Foundation Server)介绍和入门
  • mac svn工具_SmartSVN 12 for Mac(SVN客户端)
  • SharePoint Web Service系列:进行列表的增删改
  • python蜂窝状六边形_画多层六边形(小区),蜂窝状,matlab
  • SharePoint Web Service系列: Add或Update类型为User的项
  • 哲学家就餐问题python_Python实现哲学家就餐问题实例代码
  • SharePoint Web Service系列:获取文档的属性信息
  • 如何设置两个textview 的内容在listview同一行里_西门子触摸屏如何与S7-1200/1500的PLC-SIM离线仿真
  • SharePoint Web Service系列:编写自定义SharePoint Web Services之一
  • 无线鼠标可以强制配对_一款简单的小设备,吉选gesobyte无线鼠标
  • SegmentFault for Android 3.0 发布
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • bootstrap创建登录注册页面
  • CentOS7 安装JDK
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • Java|序列化异常StreamCorruptedException的解决方法
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • magento2项目上线注意事项
  • Nacos系列:Nacos的Java SDK使用
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Web标准制定过程
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 基于遗传算法的优化问题求解
  • 力扣(LeetCode)21
  • 模型微调
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 山寨一个 Promise
  • 试着探索高并发下的系统架构面貌
  • 我看到的前端
  • 我与Jetbrains的这些年
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 从如何停掉 Promise 链说起
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • 正则表达式-基础知识Review
  • ​第20课 在Android Native开发中加入新的C++类
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • $refs 、$nextTic、动态组件、name的使用
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (Python第六天)文件处理
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (zt)最盛行的警世狂言(爆笑)
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (定时器/计数器)中断系统(详解与使用)
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (三)uboot源码分析
  • (十一)图像的罗伯特梯度锐化