Controller传值到前端页面的几种方式
一丶追加字符串传值
#region 02-追加字符串传值
/// <summary>
/// 02-追加字符串传值
/// </summary>
/// <returns></returns>
public ActionResult Val()
{ //生成3个随机数
Random rd = new Random();
var a = rd.Next(, );
var b = rd.Next(, );
var c = rd.Next(, );
//进行字符串追加
var msg1 = a.ToString() + "," + b.ToString() + "," + c.ToString(); return Content(msg1);
}
追加字符串传值
二丶通过JSON传值
public ActionResult Val1()
{ //生成3个随机数
Random rd = new Random();
var a = rd.Next(, );
var b = rd.Next(, );
var c = rd.Next(, );
//申明一个匿名类
var msg = new
{
a1 = a,
a2 = b,
a3 = c,
};
return Json(msg);
}
通过JSON传值
三丶序列化传值:将对象转化为Json字符串
public ActionResult Val2()
{
Random rd = new Random();
var a = rd.Next(, );
var b = rd.Next(, );
var c = rd.Next(, ); var msg = new
{
a1 = a,
a2 = b,
a3 = c,
};
JavaScriptSerializer js = new JavaScriptSerializer(); return Content(js.Serialize(msg));
}
序列化传值
四丶反序列化:将json字符串转化为对象
public ActionResult Val3()
{
Random rd = new Random();
var a = rd.Next(, );
var b = rd.Next(, );
var c = rd.Next(, ); var msg = new Number
{
num1 = a,
num2 = b,
num3 = c
};
//进行序列化申明
JavaScriptSerializer js = new JavaScriptSerializer(); ////将json字符串转化为Number类型
//Number number = js.Deserialize<Number>(js.Serialize(msg)); //return Json(new { a=number.num1,b=number.num2,c=number.num3}, "text/json"); string json = js.Serialize(msg); //序列化成JSON字符串 Number number = js.Deserialize<Number>(json);//再反序列化为Number对象 return Json(new { a = number.num1, b = number.num2, c = number.num3 }, "text/json");//返回对象 }
反序列化
JsonConvert.DeserializeObject<Model>(data);
Dictionary<string, string> jsonaa = JsonConvert.DeserializeObject<Dictionary<string, string>>(queryJson);
foreach (var item in jsonqq)
{
if (!item.Value.IsEmpty())
{
if (item.Key == "keyword")
{
var key=item.Key ;
var value=item.Value;
} }
}
五丶将给定对象转换为指定类型
public ActionResult Val4()
{
//生成3个随机数
Random rd = new Random();
var a = rd.Next(, );
var b = rd.Next(, );
var c = rd.Next(, );
JavaScriptSerializer js = new JavaScriptSerializer();
//声明非匿名类
var msg = new Number
{
num1 = a,
num2 = b,
num3 = c
};
string json = js.Serialize(msg); //序列化成JSON字符串
object obj = js.DeserializeObject(json);//将Json字符转换为Object类型
Number number = js.ConvertToType<Number>(obj);//转化为指定对象类型
return Json(new { a = number.num1, b = number.num2, c = number.num3 }, "text/json");//返回对象
}
将给定对象转换为指定类型
js详情:
<script type="text/javascript">
$(function () {
//(1)一般方式获取数据
//$.post("/Test/Val", function (data) {
// var array = data.split(",");
// for (var i = 0; i < array.length; i++) {
// alert(array[i]);
// }
//}); //(2)返回Json获取数据
//$.post("/Test/Val1", function (data) { // alert(data.a1);
// alert(data.a2);
// alert(data.a3);
//}); //(3)通过序列化获取数据
//$.post("/Test/Val2", function (data) {
// var array = JSON.parse(data);
// alert("a1的值为:" + array.a1);
// alert("a2的值为:" + array.a2);
// alert("a3的值为:" + array.a3);
//}); //(4)通过反序列化获取数据
//$.post("/Test/Val3", function (data) { // alert("a的值为:" + data.a);
// alert("b的值为:" + data.b);
// alert("c的值为:" + data.c);
//}); //(5)ConvertToType<(Of <(T>)>) 将给定对象转换为指定类型
$.post("/Test/Val4", function (data) { alert("a的值为:" + data.a);
alert("b的值为:" + data.b);
alert("c的值为:" + data.c);
}); });
</script>
JSON.parse() 方法用于将一个 JSON 字符串转换为对象。
JSON.stringify(param) 方法用于将一个对象序列化为一个json字符串
页面传值在控制器接收:
var a = HttpContext.Current.Request["name"];
var b = HttpContext.Current.Request.QueryString["password"];
//不用任何参数,直接用HttpContext接收
[HttpPost]
public string MethodDemo()
{
var test1 = HttpContext.Current.Request["test1"];
var test2 = HttpContext.Current.Request.Form["test2"];
return ""+test1+","+test2;
}
Controller传值到前端页面的几种方式的更多相关文章
- 用easyui从servlet传递json数据到前端页面的两种方法
用easyui从servlet传递json数据到前端页面的两种方法 两种方法获取的数据在servlet层传递的方法相同,下面为Servlet中代码,以查询表中所有信息为例. //重写doGet方法 p ...
- 网络笔记01-3 socket 实现百度页面的两种方式
scoket 实现百度页面的两种方式: 1.利用系统自带 //1.创建URL NSURL *url=[NSURL URLWithString:@"http://m.baidu.com& ...
- WebView加载页面的两种方式——网络页面和本地页面
WebView加载页面的两种方式 一.加载网络页面 加载网络页面,是最简单的一种方式,只需要传入http的URL就可以,实现WebView加载网络页面 代码如下图: 二.加载本地页面 1.加载asse ...
- THINKPHP_(7)_THINKPHP6的controller模型接收前端页面通过ajax返回的数据,会因为一个div而失败
这个随笔比较短. 同样的前端页面代码,修改了一下,后端模型接收不到数据. 利用beyond compare软件比对两个前端文件, 发现多了一个</div>标签. 多了一个</div& ...
- SpringBoot 获取前端页面参数的集中方式总结
SpringBoot的一个好处就是通过注解可以轻松获取前端页面的参数,之后尅将参数经过一系列处理传送到后台数据库,前端时间正好用到.大致分为一下几种: 1.指定前端URL请求参数名称与方法名称一致,这 ...
- 浅析使用vue-router实现前端路由的两种方式
关于vue-router 由于最近的项目中一直在使用vue,所以前端路由方案也是使用的官方路由vue-router,之前在angularJS项目中也是用过UI-router,感觉大同小异,不过很显然v ...
- php抓取页面的几种方式
在做一些天气预报或者RSS订阅的程序时,往往 需要抓取非本地文件,一般情况下都是利用php模拟浏览器的访问,通过http请求访问url地址, 然后得到html源代码或者xml数据,得到数据我们不能直接 ...
- ASP.NET MVC2中Controller向View传递数据的三种方式
转自:http://www.cnblogs.com/zhuqil/archive/2010/08/03/Passing-Data-from-Controllers-to-View.html 在Asp. ...
- js刷新页面的几种方式与区别
Javascript刷新页面的几种方法:1 history.go(0) 2 location.reload() 3 location=location 4 location.assign(locati ...
随机推荐
- 2013级C++第12周(春)项目——成员的訪问属性、多重继承
课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 第一部分 程序阅读 1.阅读程序.分析类中成员 ...
- CPU上电时序详细分析
首先是RTC电源,这部分电力是永远不关闭的,除非电池(纽扣电池)没电并且没接任何外部电源(比如电池和电源适配器). RTC用以保持机器内部时钟的运转和保证CMOS配置信息在断电的情况下不丢失:其次,在 ...
- 蓝牙驱动分析 linux
蓝牙驱动分析 这个驱动分析的是OK6410开发板自带的内核版本是linux3.0.1,所支持的wifi和蓝牙一体芯片是marvell的8688和8787.根据开发板的设计,芯片与主机之间是通过sdio ...
- linux下的C语言开发(定时器)
定时器是我们需要经常处理的一种资源.那Linux下面的定时器又是怎么一回事呢?其实,在linux里面有一种进程中信息传递的方法,那就是信号.这里的定时器就相当于系统每隔一段时间给进程发一个定时信号,我 ...
- 【转】整套完整安全的API接口解决方案
原文地址:http://www.cnblogs.com/hubro/p/6248353.html 在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API ...
- [入门帮助] Kafka入门经典教程
问题导读 1.Kafka独特设计在什么地方?2.Kafka如何搭建及创建topic.发送消息.消费消息?3.如何书写Kafka程序?4.数据传输的事务定义有哪三种?5.Kafka判断一个节点是否活着有 ...
- nodejs实现验证码
http://www.9958.pw/post/nodejs_lesson http://www.9958.pw/post/nodejscapp
- js几种escape()解码与unescape()编码
js几种escape()解码与unescape()编码 www.111cn.net 编辑:kepeer 来源:转载 一篇js几种escape()解码与unescape()编码函数,同时我们也和它和服务 ...
- C++中的常量(一) const限定符
最近在重新看<<C++ Primer>>,第一遍的时候const和constexpr看得并不太懂,这次又有了些更新的理解,当然可能仍然有许多不对的地方... 首先,const限 ...
- E20171230-hm
refine vt. 提炼; 改善; 使高雅; revert vi. 恢复; 重提; 回到…上; <律>归还; vt. 使恢复原状; n ...