常见问题一之拼接表格 js传递参数变量 Json接收值
1.前台拼接表格时,有时候需要使用拼接html字符串,需要多次循环拼接的,放在方法里边:
//ary可以是数组中的一组数据.
function(ary)
{
var MyHtml="<tr>";
MyHtml+="<td>" + ary.ID + "</td>";
MyHtml+="<td>" + '<input type="radio" name="toggle" valuestr="'+ary.Name+'"/>' + "</td>";
MyHtml="</tr>";
}
2.利用javascript和@url.action()传递参数变量。
//url字符串
var urlstr = '@Url.Action("Index", "Home")' + "?Id=" +id;
//更改
$("#btnok").attr("href", urlstr);
3.利用从json后台传送一个实体类到前台。
public JsonResult JsonTest()
{ var Model = db.Model.First(x => true);
//var Model = db.Model.Where(x => true).Take(1).ToList();
//序列化对象
string str = JsonConvert.SerializeObject(Model);
return Json(str);
}
//前台接收
$("#btnok2").click(function () {
$.ajax({
type: "post",
url: "@Url.Action("JsonTest", "Home")",
data: { }, //传递json字符串 需要使用 JSON.stringify(ary)
cache: false,
dataType: "json",
success: function(data) {
var ary2 = JSON.parse(data);
alert(ary2.ID + "." + ary2 + "," + ary2.Name); //alert(ary2[0].ID + "." + ary2 + "," + ary2[0].Name);
}
})
4.json传递数据方式二:传递一个List<JsonClass>。
public JsonResult JsonTest2(int id)
{
string str = string.Empty;
if (id == )
{
JsonClass jsonClass = new JsonClass()
{
ID = ,
Name = "xx",
Sex = "男"
};
List<JsonClass> list = new List<JsonClass>();
list.Add(jsonClass);
list.Add(new JsonClass
{
ID = ,
Name = "oo",
Sex = "女"
});
str = JsonConvert.SerializeObject(list);
}
return Json(str, JsonRequestBehavior.AllowGet);
}
//定义类别
public class JsonClass
{
public int ID { get; set; }
public string Name { get; set; } public string Sex { get; set; }
}
5.接收前台传过来的Json字符串
[HttpPost]
public ActionResult Edit(string ary)
{
// ary = "[{\"type\":\"0\",\"Id\":\"3\",\"serial\":\"2\"},{\"type\":\"0\",\"Id\":\"2\",\"serial\":\"1\"}]";
var emply = new { ID = , Name = string.Empty,Sex = string.Empty };
if (ary.Length>)
{
JArray jsonary = (JArray)JsonConvert.DeserializeObject(ary);
string str = string.Empty;
for(int i=;i<jsonary.Count;i++)
{
JObject obj = (JObject)jsonary[i];
var array = JsonConvert.DeserializeAnonymousType(obj.ToString(), emply);
str += array.ID + array.Name + array.Sex; //第二种接收值方式:
int Id;
string Name, Sex;
Id = Convert.ToInt32(obj["ID"].ToString());
Name = obj["Name"].ToString();
Sex = obj["Sex"].ToString();
}
}
return RedirectToAction("Index");
}
}
以上为平时遇到,或者遇到后又遗忘的一些些问题。备以记录,以供查询。
常见问题一之拼接表格 js传递参数变量 Json接收值的更多相关文章
- 工作随笔——Java调用Groovy类的方法、传递参数和获取返回值
接触Groovy也快一年了,一直在尝试怎么将Groovy引用到日常工作中来.最近在做一个功能的时候,花了点时间重新看了下Java怎么调用Groovy的方法.传递参数和获取返回值. 示例Groovy代码 ...
- 解决axios传递参数后台无法接收问题
1.根据下面几个方法改变前台传递参数方式 这样后台就可以直接根据传递的参数获取数据,如下图用户登录时直接传递用户名和密码 2.不改变前台传递样式修改后台接收方式
- 在js传递参数中含加号(+)的处理方式
一般情况下,URL 中的参数应使用 url 编码规则,即把参数字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+).但是对于带有中文的参数来 ...
- js传递参数中包含+号时的处理方法
encodeURI(url).replace(/\+/g, '%2B') 例子: $scope.getAnesthesiawaystatistical = function (annual, anes ...
- JS传递参数时对中文进行编码和解码
var b ="啊,我要过去"; var a = encodeURI(b);//对中文编码 ...
- axios 使用post方式传递参数,后端接收不到
最近做vue项目,做图片上传的功能,使用get给后台发送数据,后台能收到,使用post给后台发送图片信息的时候,vue axios post请求发送图片base64编码给后台报错HTTP 错误 414 ...
- ajax传递参数与controller接收参数映射关系
将ajax的参数传递至后台controller时,data 中的参数名要与controller中的形参保持一致. 前端ajax代码: 1 $.ajax({ 2 url:"/doLogin&q ...
- js 判断一个变量是否有值
最近遇到一个面试题,判断一个变量是否有值,当时有点蒙,其实很简单,就是判断 变量是否为 undefined或者null function isFlag(val) { if(Object.prototy ...
- js与php传递参数
这个问题在网页开发时经常遇到,其实解决办法非常简单,就是几行代码的事,不过各种js.php书上都没有,百度下来也乱七八糟的,有的能用,有的不能用.小编遇到这问题时认认真真研究了一上午,研究出一点心得, ...
随机推荐
- Google Analytics电子商务篇(Universal版)
Google Analytics是一款用于统计分析网站流量.浏览行为,可用于衡量用户与您网站的互动情况的全新方式.最近刚接触不久,发现其功能真的十分强大,记录下电子商务配置方法.(新手,老鸟勿喷) G ...
- SQL运行优化收藏
如何让你的SQL运行得更快(转贴) ---- 人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境 ...
- element-ui <el-date-picker> 回显格式 yyyy-MM-dd 传值格式 yyyyMMddHHmmss
<template> <!-- 需求:使用 <el-date-picker> 日期插件 前端显示2018-10-22 后台需要传时间戳,对这个日期插件不熟悉,当时搞了好长 ...
- c# winform Chart Pie 中若X轴数据为字符串时,#VALX取值为0
https://q.cnblogs.com/q/83848/ 在winform程序中用自带的Chart进行画图表时,若画饼图,其中X轴数据为字符串,这时候如果想设置Label值的格式为#VALX:#V ...
- js 批量提交数据
// 批量提交数据 let pageSize = 100, total = dataTmp.length, list = dataTmp let totalPage = Math.ceil(total ...
- VS2015在win10上编译的程序在Win7上运行的方法
在win10系统上使用vs2015编译了一个32位的应用程序.在win7上报错无法启动. 下面的win7系统上是可以运行的 无法运行的win7系统: 报错: 1.应用程序无法正常启动(0xc00000 ...
- django虚拟环境安装
虚拟环境主要是防止不同版本的模块之间的冲突,维护多个项目的时候这个非常重要. 虚拟环境的安装 sudo apt install python-virtualenv 虚拟环境安装成功后,直接创建一个虚拟 ...
- 微信或QQ屏蔽域名,爆红域名如何在微信打开,如何进行微信域名防封?
近很多朋友都会遇到这个问题,为什么我的微信域名或者QQ域名怎么总是提示拦截呢?在这里跟大家说一下吧: 第一点:就是域名里面的内容违规或者诱导被举报而导致的拦截 第二点:就是被用户或者同行恶意举报而导致 ...
- R语言的精度和时间效率比较(简单版)
R语言的最大数值 在R语言里面,所能计算的最大数值可以用下面的方法获得: ###R可计算最大数值 .Machine 在编程的时候注意不要超过这个数值.当然,普通情况下也不可能超过的. R语言的最大精度 ...
- 为什么Vuex内数据改变了而组件没有进行更新?
这两天在进行一个首页的制作,结果就碰到了标题上所述的问题了,用了一天的时间在网上查资料.终于找出了问题所在 Vuex的数据写在store里,在组件中需要用到this.$store.commit() 来 ...