当前位置: 首页 > 编程语言 > C#

将类似JSON的字符串从C#发送到javascript分享

时间:2023-04-10 21:41:50 C#

C#学习教程:SendingJSON-likestringsfromC#tojavascriptname":"n1"},{"src":"image2","name":"n2"},{"src":"image3","name":"n3"}]);我想从C#中设置src和name的值。假设C#值是这样的:varimages=newstring[]{"/images/a1.jpg","/images/a2.jpg","/images/a3.jpg"};varnames=newstring[]{"第一","第二","第三"};如何将这些值设置到JavaScript代码中(即在C#代码中的页面加载方法中)?在服务器上,您需要将数据序列化为JSON,然后您可以使用隐藏输入字段之类的东西将其作为HTML写入响应。例如,您可以使用NewtonSoftJSON库序列化JSON(它内置在ASPMVC4中,但使用Nuget很容易安装)stringjson=Newtonsoft.Json.JsonConvert.SerializeObject(images);然后将json呈现为HTML(有很多方法可以做到这一点),例如Response.Write(string.Concat("");或HiddenFieldjsonField=newHiddenField{ID="data"};jsonField.Value=json;this.Controls.Add(jsonField);甚至直接编写脚本而无需解析客户端(我仍然倾向于使用HTML方法来避免回发/更新面板导致脚本多次执行的任何问题).Write(string.Concat("");在客户端的另一端,你可以从HTML中读取这个JSON并解析它。在现代浏览器中,这是内置的,或者您可以用类似JSON2的内容填充它,例如varfield=document.getElenentById('data');varimages=JSON.parse(field.value);然后你的数据可以作为Javascript对象访问。假设图像和名称的长度相同,您可以使用StringBuilderstr=newStringBuilder();varimages=newstring[]{"/images/a1.jpg","/images/a2.jpg","/images/a3.jpg"};varnames=newstring[]{"第一","第二","第三"};str.AppendLine("slider.setPhotos([");for(inti=0;i此代码将在您的页面加载时插入一个脚本块,之后您可以在客户端代码中的任何位置使用该脚本块。以上就是C#学习教程分享的全部内容:SendingJSON-likestringsfromC#tojavascript,大家很有用,需要多了解C#学习教程,希望大家多多关注---本文收集自来源于网络,不代表立场,如涉及侵权,请点击右边联系管理员删除,如需转载请注明出处: