您的位置:首页 > 其它

一般处理程序中使用隐藏域来实现非Form表单元素上数据的改变

2017-01-11 14:40 537 查看
html代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style type="text/css">
div{
width:100px;
height:100px;
background-color:green;
padding-left:50px;
padding-top:50px;
font-size:xx-large;
color:red;
}
</style>
</head>
<body>
<form method="post" action="Handler.ashx">
<input type="hidden" name="hid" value="$count" />

<div>
$div
</div>

数值:<input type="text" name="txt" value="$num" /><br />
<input type="submit" value="自增" /><br />
</form>
</body>
</html>


一般处理程序代码:
<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;

public class Handler : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
// html页面有 占位符 时,需要先运行此页面;

context.Response.ContentType = "text/html";

int num = 0;
num = Convert.ToInt32(context.Request.Form["txt"]); // 获取输入框中的数值;
num++;

// 在div上实现自增:由于div上的数值不能传递到服务器,所以可以通过form表单中的隐藏域来实现。
string str = context.Request.Form["hid"];
int i = Convert.ToInt32(str);
i++;

string filePath = context.Request.MapPath("HtmlPage.html"); // 获取html文件的物理路径;
string strHtml = System.IO.File.ReadAllText(filePath); // 读取html模板内容;
strHtml = strHtml.Replace("$num", num.ToString()); // 将数值自增之后的值传给输入框;

strHtml = strHtml.Replace("$count", i.ToString()).Replace("$div", i.ToString());

context.Response.Write(strHtml); // 输出html;
}

public bool IsReusable
{
get
{
return false;
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐