关于表单的使用

第 12 节: 12-HttpHandler案例

 

Content-Type:服务器返回给浏览器的文本类型是什么;  常用的有:text/html(html格式) image/gif(图片格式)  text/plain(纯文本格式)  text/css(css文件格式)等等

第13节:表单提交 哪些标签的哪些值会被提交给服务器呢?

 

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form action="Login.ashx">//action表示交给谁处理这个表单的内容
        <input type="text" name="name" />
        <input type="password" name="pwd" />
        <input type="submit" />

    </form>

</body>
</html>


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

namespace Web1
{
    /// <summary>
    /// Login 的摘要说明
    /// </summary>
    public class Login : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/html";//1、改为html类型
            string name=context.Request["name"];
            string pwd = context.Request["pwd"];
            if (name == "admin" && pwd == "123")
            {
                context.Response.Write("<html><head></head><body>");
                context.Response.Write("<h1>"+name + "欢迎进入本网站!</h1></body>");
            }
            else
            {
                context.Response.Write("<h1>"  + "登陆失败!</h1></body>");
            }
          
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

将用户填写的内容提交到服务器有如下几个条件(使用浏览器监视网络请求验证):

1、只能为 input、textarea、select三种类型的标签。

2、只有三种标签的value属性的值(select是选中项的value)才会提交给服务器。标签必须设定name属性(道理:没有name怎么拼网址i=5)。如果要将标签的value属性值提交到服务器,则必须为标签设定name属性,提交到服务器的时候将会以“name=value”的键值对的方式提交给服务器。name是给服务器用的,id是给Dom用的。

3、对于RadioButton,同name的为一组,选中的RadioButton的value被提交到服务器。(讲道理:如果都提交,那服务器知道谁被选中了吗?)

4、当input=submit的时候,只有被点击的按钮(要有name)的value才会被提交(道理:否则我知道谁被点了?)。

5、放到form标签内。只有放到form标签内的标签才可能会被提交到服务器,form之外的input等标签被忽略。

 

1、Html表单<form>可以自动给服务器提交参数(get是通过url,post是通过报文体,后面会讲区别),不用用户自己拼url。action指定把表单内容提交给谁。
2、浏览器向服务器端提交数据,被提交数据的表单(input、select、textarea等)放到form中,form中通过action属性设定表单被提交给哪个页面,为了在服务端取出表单项的值,需要在HTML中为表单元素设定name属性
3、注意id是给JS操作Dom用的,name才是提交给服务器用的。id不能重复,name可以重复,重复的name的值都会被提交给服务器。
4、服务器端用context.Request["username"]来根据表单项的name来获得提交的属性值。

5、checkbox没选中为null,选中为"on"。

posted @ 2015-05-29 17:14  t800  阅读(139)  评论(0编辑  收藏  举报