如何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 ...
随机推荐
- c语言double类型数据四舍五入
借助math库的round函数 #include <math.h> double ext_round(double data, int precision) { , precision); ...
- python学习之__new__()
这里我从str类的__new__()方法来说明. str的__new__(cls,*args)必须传入一个参数cls,他是str的子类(注意不是实例). __new__()的返回值是该子类的实例,表现 ...
- 每日英语:For Michael Dell, Saving His Deal Is Just First Step
Michael Dell is set to win a bruising, yearlong battle for control of his company. His next task -- ...
- Oracle PLSQL Demo - 09.Open、Fetch遍历游标[Open, Fetch, Close Record CURSOR]
declare r_emp scott.emp%rowtype; cursor cur_emp is select t.* from scott.emp t; begin open cur_emp; ...
- vue实现复制粘贴的两种形式
方式一: 1.安装clipboard:npm install clipboard 2.src/utils/clipboard.js import Vue from 'vue' import Clipb ...
- 给class添加id封装
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【算法】转载:Iterative vs. Recursive Approaches
Iterative vs. Recursive Approaches Eyal Lantzman, 5 Nov 2007 CPOL Introduction This arti ...
- java 多线程4: java线程的优先级
Java线程的优先级取值范围是1 (Thread.MIN_PRIORITY ) 到 10 (Thread.MAX_PRIORITY ).如果没有设置, 线程默认的优先级是NORM_PRIORITY.这 ...
- c++之—— lambda表达式(有个未能解决的问题等待大佬解答)——(在stack overflow找到了答案)
谓词: 谓词是一个可调用的表达式,其返回结果是一个能用作条件的值.标准库算法所使用的谓词分为两类:一元谓词,意味着它只接受单一参数:二元谓词,意味着它有两个参数.接受谓词参数的算法对输入序列中的元素调 ...
- dubbo2.5.3注解版
1.环境 在机器192.168.0.4机器上安装了zookeeper,用于dubbo的服务注册,安装教程在另外一篇博客 http://www.cnblogs.com/520playboy/p ...