今天学习了在一般处理程序中写一个计算器
2015-01-21 00:43
309 查看
今天看了看前面的javascript以及学习的jquery,感觉刚开始学习时间就赶得比较紧,练习是做啦,基础的知识都是知道的,但是在写一些小小的程序时间还是陌生,感觉练习的还是很不够的,其实怎么说那,想好好的学习还是把他们使用到项目中练习就会学习的更快些吧,然后我又做啦一个增删改查的一般处理程序,但是还没有总结好,现在就简单的先总结一个小小的计算器使用html和ashx来实现一下其功能,如下所示:
一.html样式
写上面的html主要是在这里想说一下使用form表单提交数据两个属性,action指的是操作的我们要指向的ashx页面的地址,而method指的是我们提交程序的方式,在这里我们仅仅学习了post和get两种提交方式,在这里get提交数据主要传参数在url地址栏内,而post的提交方式可以通过firebug来查看其传参,这里就提及到安全性的问题,get方式提交相对来说并没有post安全。
二.ashx程序
在这里使用的一段javascript代码主要是想实现党页面重新请求时间我们的第一个数和第二个数能够仍然在文本框中显示,在一般处理程序中并不像winform中一样,因为每次点击按钮一个即提交页面就进行一个刷新并提交数据,因此,我们如果不进行处理,那么当我们点击按钮使其呈现结果的时间我们的第一个文本框和第二文本框都为空,仅存在结果的文本框中呈现结果,如果我们要想像winfom中那样,就需要使用js改变。如上所示。
好啦,今天就写到这里吧,嘿嘿,明天再继续总结我的增删改查一般处理程序。
一.html样式
<script> //@Script; </script> <body> <form action="001.ashx" method="post"> <table> <tr><td>第一个数字:</td> <td><input type="text" name="txtnum1" value="" id="num1"/></td></tr> <tr><td>计算符号: </td><td> <select name="select"> <option value="+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select></td></tr> <tr><td> 第二个数字: </td><td><input type="text" name="txtnum2" value="" id="num2"/></td></tr> <tr><td colspan="2"> <input type="submit" name="submit" value="等于" /></td></tr> <tr><td> 结果:</td><td><input type="text" name="resoult" value="0" id="num"/></td></tr> </table> </form> </body>
写上面的html主要是在这里想说一下使用form表单提交数据两个属性,action指的是操作的我们要指向的ashx页面的地址,而method指的是我们提交程序的方式,在这里我们仅仅学习了post和get两种提交方式,在这里get提交数据主要传参数在url地址栏内,而post的提交方式可以通过firebug来查看其传参,这里就提及到安全性的问题,get方式提交相对来说并没有post安全。
二.ashx程序
public class _001 : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/html"; string method = context.Request.HttpMethod; //判断请求的方式,在第一次请求时间为get请求,在submit提交后的请求为post请求,则method为post请求 if (method == "GET") { string path = context.Request.MapPath("0001.html"); //html页面文档 string html = File.ReadAllText(path); //读取文件路径 context.Response.Write(html); } else { string num1 = context.Request.Form["txtnum1"]; //获取文本框的值 string num2 = context.Request.Form["txtnum2"]; string select = context.Request.Form["select"]; //select中获取其值是通过获取其name而得到value int resoult = 0; if (!string.IsNullOrEmpty(num1) && !string.IsNullOrEmpty(num2)) { switch (select) { case "+": resoult = int.Parse(num1) + int.Parse(num2); break; case "-": resoult = int.Parse(num1) - int.Parse(num2); break; case "*": resoult = int.Parse(num1) * int.Parse(num2); break; default: if(!num2.Equals(0)) { resoult = int.Parse(num1) / int.Parse(num2); } break; } string path = context.Request.MapPath("0001.html"); string html = File.ReadAllText(path); //把js写到ashx中替换,也可以在html中写js,然后@一个变量再在ashx中替换 html += html.Replace("@num",resoult.ToString()); html += html.Replace("@num1", num1.ToString()); html += html.Replace("@num2", num2.ToString()); //html = html.Replace("@Script;", "window.onload=function(){ document.getElementById('num').value =" + resoult + "; document.getElementById('num1').value =" + num1 + ";document.getElementById('num2').value =" + num2 + "; };"); //html = html.Replace("0", resoult.ToString()); //第一种可以直接替换字符串 context.Response.Write(html); } } } public bool IsReusable { get { return false; } } }
在这里使用的一段javascript代码主要是想实现党页面重新请求时间我们的第一个数和第二个数能够仍然在文本框中显示,在一般处理程序中并不像winform中一样,因为每次点击按钮一个即提交页面就进行一个刷新并提交数据,因此,我们如果不进行处理,那么当我们点击按钮使其呈现结果的时间我们的第一个文本框和第二文本框都为空,仅存在结果的文本框中呈现结果,如果我们要想像winfom中那样,就需要使用js改变。如上所示。
好啦,今天就写到这里吧,嘿嘿,明天再继续总结我的增删改查一般处理程序。
相关文章推荐
- 一个非常非常非常基础的程序,写的不好,但是一般的文件读写操作及字符处理函数都涉及到了..新手学习用的
- 最近学习asp.net一般处理程序(.ashx)
- asp.net实现页面的一般处理程序(CGI)学习笔记
- 一般处理程序学习初步——最简单的一般处理程序
- 一般处理程序获得一个链接返回的值
- .NET使用一般处理程序生成验证码(网摘学习)
- 今天遇到一个问题:在程序中加入的定时触发器,当时出现这样一个问题,触发器定时2秒,程序从后台查询数据经过复杂处理后时间超过了2秒,我查阅好些网络上说有可能触发器等待程序执行完毕后,在触发下一次,也有说
- 对ASP.NET运行机制之 一般处理程序ashx的学习
- Java入门学习-学会try/catch/throw的用法。做出一个计算器除法功能,除以0时程序必须给出提示。
- asp.net实现页面的一般处理程序(CGI)学习笔记
- ASP.NET一般处理程序新建一个方法里使用context.Response.Write的解决方法
- asp.net学习日记之一般处理程序1
- JAVA学习之 Model2中的Servlet与.NET一般处理程序傻傻分不清楚
- 今天没怎么写程序,就用JAVA调了下记事本,计算器,嘿嘿,写一个代码也是热身呀~~~
- 验证码 生成 二三例(一般处理程序,封装一个类)
- [传智播客学习日记]一般处理程序之文件上传
- 黑马程序员_学习日记9_ASP.NET服务器处理过程_一般处理程序_复习HTML标签
- asp.net WebForm中的一般处理程序、aspx页面深入学习
- 今天一天都在忙论文的事情,所以今天没时间来学习c++,那就给大家带来一个简单小程序杨辉三角把