我们在做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的更多相关文章

  1. vue项目 Request Payload改成Form Data

    vue项目中提交表单时,请求参数是Request Payload时在main.js中加 axios.defaults.headers.post['Content-Type'] = 'applicati ...

  2. JQuery ajax url传值与data传值的区别

    url传中文,乱码,即便charset为 UTF-8, $.ajax({    type: "POST",    cache: false,    url: "/Prod ...

  3. Vue父组件向子组件传值以及data和props的区别

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/xukongjing1/article/ ...

  4. 第六章 组件 63 组件传值-父组件向子组件传值和data与props的区别

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  5. Netty源码分析之客户端启动过程

    一.先来看一下客户端示例代码. public class NettyClientTest { public void connect(int port, String host) throws Exc ...

  6. HttpClient实现客户端与服务器的通信

    本篇主要讲解了利用HttpClient实现 windows主机与linux服务器的通信与传递数据 HttpClient代码,服务器端配置 系统和安装软件 1)ubuntu 14.04 64位系统 2) ...

  7. python中urllib, urllib2,urllib3, httplib,httplib2, request的区别

    permike原文python中urllib, urllib2,urllib3, httplib,httplib2, request的区别 若只使用python3.X, 下面可以不看了, 记住有个ur ...

  8. 开源中国iOS客户端学习

    开源中国iOS客户端学习 续写前言 <开源中国iOS客户端学习>续写前系列博客    http://blog.csdn.net/column/details/xfzl-kykhd.html ...

  9. Request和Response详解

    转自:http://zhidao.baidu.com/link?url=8BI0cjlcFdBSJKHTZlpo874eqtbTJoZfrh3miQgM_05RvSER8skPiBc1wSPZtXT8 ...

随机推荐

  1. [Linux] Ubuntu修改时区

    sudo apt-get install sysv-rc-confsudo dpkg-reconfigure tzdata

  2. ypbind启动失败

    [root@bs035 test]# cat /etc/yp.conf # /etc/yp.conf - ypbind configuration file# Valid entries are## ...

  3. [转][SQL] SSIS 简单应用 数据库汇入导出设定& SQL Agent定期排程

    前言 本篇不是要說高深的SSIS 技巧,而是用實例的方式,說明如何應用 Visual Studio 的「Business Intelligence Projects」來建立「Integration S ...

  4. PHP 友好的dump

    /** * 浏览器友好的变量输出 * @param mixed $var 变量 * @param boolean $echo 是否输出 默认为True 如果为false 则返回输出字符串 * @par ...

  5. jsp报源码

    刚在get的一个姿势.在参数后面加负号即爆出源码. w7oami 表哥解释道其原理如下: 1.用了@file_get_contents 函数 2.cdn 或者负载均衡 才导致爆出源码.

  6. Android中自定义控件,三个构造函数

    自定义控件时,最好抽象得彻底,并且编写需严谨,因为可能程序中多处都会引用到它,或者提供给团队中的其他人使用. 其一般步骤为: 1.创建控件的类文件,定义其功能逻辑.一般继承自现有控件或者View 2. ...

  7. Linux 网络子系统之网络协议接口层(二)

    这一篇主要围绕网络协议接口层的发送函数的解析 int dev_queue_xmit(struct sk_buff *skb) 函数解析 声明: /* include/linux/netdevice.h ...

  8. DataGridView使用技巧十一:DataGridView用户输入时,单元格输入值的设定

    通过DataGridView.CellParsing事件可以设定用户输入的值.下面的示例:当输入英文文本内容的时候,立即被改变为大写.DataGridView.CellParsing在离开编辑的单元格 ...

  9. 简单又好用的聊天室技术——WebSocket

    现在,很多网站为了实现推送技术,所用的技术都是轮询.轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客户端的浏览器.这种传统的模式带来很 ...

  10. R语言设置write.table()输出的文件格式

    write.table(),是保存数据为文件的函数. > xiaohuqingdan <- c(3900088702, 3900072499,3900021029) > xiaohu ...