如何Request客户端的传值的Data
我们在做B/S的项目,客户端向服务端传值的时候,一般都是request接受。
Request常用三个接受方式为:Request.QueryString,Request.Form,Request.Params
它们之间关系,很简单 ,我就不列举了。
我就贴下 一个我封装的示例代码:
class Program
{ static void Main(string[] args)
{
//First Method
string _id = string.Empty;
string _prodctName = string.Empty;
int _Price = ;
//IsNullOrWhiteSpace 代替IsNullOrEmpty
if (!string.IsNullOrWhiteSpace(HttpContext.Current.Request.QueryString["id"]))
{
_id = HttpContext.Current.Request.QueryString["id"];
}
if (!string.IsNullOrWhiteSpace(HttpContext.Current.Request.QueryString["prodctName"]))
{
_prodctName = HttpContext.Current.Request.QueryString["prodctName"];
}
if (!string.IsNullOrWhiteSpace(HttpContext.Current.Request.Params["Price"]))
{
_Price = int.Parse(HttpContext.Current.Request.QueryString["Price"]); //很危险哦 很容易就报错
} //two Method
// 我最常用的方法 利用委托和扩展方法 进行组合链式
//这里可以封装到一个方法里
Func<string, string> GetRequest = (string s) =>
{
var str=HttpContext.Current.Request.QueryString[s];
if (!string.IsNullOrWhiteSpace(str))
{
return str;
}
else
return "";
}; _id = GetRequest("id");
_prodctName = GetRequest("prodctName");
_Price = GetRequest("price").FormatInt(); //third Method
//这里不做代码展示 一般用AJAX上 大致步骤如下
//1.前台用做一个JSON对象传递到后台,拒绝细粒度传值,细粒度一般在传参少于三个以下, 超过三个都用粗粒度传值
//2.后台用json.net 进行反格式到model上 //four Method
//这里是我现在真打算运用项目中,性能和可行性还在测试中,等成功 我就更新出来
//希望能抛砖引玉,谢谢
}
} public static class FormatData
{
public static string FormatString(this string s)
{
return s.Replace("猴子吃香蕉","猴子吃菠萝");
}
public static int FormatInt(this string s)
{
//默认-100 如果-100表示格式化出错 约定一个准则就可以
var _tempData = -;
int.TryParse(s, out _tempData);
return _tempData;
}
//后面还有很多 如 日期 浮点型 过滤SQL非法字符等等
}
如何Request客户端的传值的Data的更多相关文章
- vue项目 Request Payload改成Form Data
vue项目中提交表单时,请求参数是Request Payload时在main.js中加 axios.defaults.headers.post['Content-Type'] = 'applicati ...
- JQuery ajax url传值与data传值的区别
url传中文,乱码,即便charset为 UTF-8, $.ajax({ type: "POST", cache: false, url: "/Prod ...
- Vue父组件向子组件传值以及data和props的区别
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/xukongjing1/article/ ...
- 第六章 组件 63 组件传值-父组件向子组件传值和data与props的区别
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- Netty源码分析之客户端启动过程
一.先来看一下客户端示例代码. public class NettyClientTest { public void connect(int port, String host) throws Exc ...
- HttpClient实现客户端与服务器的通信
本篇主要讲解了利用HttpClient实现 windows主机与linux服务器的通信与传递数据 HttpClient代码,服务器端配置 系统和安装软件 1)ubuntu 14.04 64位系统 2) ...
- python中urllib, urllib2,urllib3, httplib,httplib2, request的区别
permike原文python中urllib, urllib2,urllib3, httplib,httplib2, request的区别 若只使用python3.X, 下面可以不看了, 记住有个ur ...
- 开源中国iOS客户端学习
开源中国iOS客户端学习 续写前言 <开源中国iOS客户端学习>续写前系列博客 http://blog.csdn.net/column/details/xfzl-kykhd.html ...
- Request和Response详解
转自:http://zhidao.baidu.com/link?url=8BI0cjlcFdBSJKHTZlpo874eqtbTJoZfrh3miQgM_05RvSER8skPiBc1wSPZtXT8 ...
随机推荐
- HAProxy负载均衡原理及企业级实例部署haproxy集群
一 HAProxy简介 HAProxy是一种高效.可靠.免费的高可用及负载均衡解决方案,非常适合于高负载站点的七层数据请求.客户端通过HAProxy代理服务器获得站点页面,而代理服务器收到客户请求 ...
- IOS7的蛋疼各种收集
------------------ ios7基于viewController隐藏状态条:通过ViewController重载方法返回枚举值的方法来控制状态栏的隐藏和样式.首先,需要在Info.pli ...
- python2 UnicodeDecodeError: 'ascii' codec can't decode byte 0xce in position 7: ordinal not in range(128)
python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't deco ...
- 教程-TObjectList.Clear、TStringList.Clear方法对象有没有被释放
相关资料: http://www.cnblogs.com/rogge7/p/4631796.html delphiTStringList通过AddObject方法添加对象. object里存的只是指向 ...
- java中常用的类,包,接口
类 StringIntegerLong File DateThread(java.lang.ThreadThread类的定义:public class Thread extends Object im ...
- 在WMware新建一个虚拟机
- Linux 进程间通信(posix消息队列 简单)实例
Linux 进程间通信(posix消息队列 简单)实例 详情见: http://www.linuxidc.com/Linux/2011-10/44828.htm 编译: gcc -o consumer ...
- 轻量级ORM框架Dapper应用五:使用Dapper实现Join操作
在这篇文章中,讲解如何使用Dapper使用Inner join的操作 1.新创建两张表:Users表和Product表 Users表定义如下: CREATE TABLE [dbo].[Users]( ...
- spring boot 自学笔记(四) Redis集成—Jedis
上一篇笔记Reddis集成,操作Redis使用的是RedisTemplate,但实际中还是有一大部分人习惯使用JedisPool和Jedis来操作Redis, 下面使用Jedis集成示例. 修改Red ...
- Qt 事件处理的五个层次
看了这篇文章(见http://devbean.blog.51cto.com/448512/231861),然后经过自己的思考,把Qt事件处理的五个层次.同时也是Qt时间处理的流程画了出来.若有不对请批 ...