我们在做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. Loadrunner常用操作

    LoadRunner 参数化 为什么需要参数化? 大众理解:为了更加真实的模拟用户操作 底层原理: 1,应用服务,数据库会校验该值的唯一性(unique key) 2,为了避免数据库的查询缓存对性能测 ...

  2. nyoj123 士兵杀敌(四)树状数组 插线问点

    士兵杀敌(四) 时间限制:2000 ms  |  内存限制:65535 KB 难度:5 描述 南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战(编 ...

  3. hdoj1251 统计难题 字典树

    统计难题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others)Total Submi ...

  4. jQuery-File-Upload文件上传

    http://blueimp.github.io/jQuery-File-Upload/index.html

  5. iOS播放系统声音和震动

    在需要声音的类的.h文件中添加     #import <AudioToolbox/AudioToolbox.h>static SystemSoundID shake_sound_male ...

  6. matlab与MFC

    混合编程其实不难,关键是没有一个规范的,真正可以解决设置过程中出现的小问题的方法.我在设置的过程中,遇到了不少问题,花了多半天的时间,终于解决了,顺利地在vc中调用matlab 生成的dll文件中的函 ...

  7. WPF 冒泡路由事件

    在WPF中,例如,可以构建一个包含图形的按钮,创建一个具有文本和图片混合内容的标签,或者为了实现滚动或折叠的显示效果在一个特定的容器中放置内容.甚至可以多此重复嵌套,直到达到您所希望的层次深度. 这种 ...

  8. 【C#/WPF】Image图片的Transform变换:平移、缩放、旋转

    WPF中图像控件Image的变换属性Transform: 平移 缩放 旋转 即要想实现图片的平移.缩放.旋转,是修改它所在的Image控件的Transform变换属性. 下面在XAML中定义了Imag ...

  9. vim 移植记录

    下载两个源码包: vim : ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2\ ncurses-5.8.tar.gz http://ftp.gnu.org ...

  10. Android——对话框1(一般、选择、自定义、进度条)

    xml <Button android:layout_width="match_parent" android:layout_height="wrap_conten ...