拆分和保存数据在JS数组使用ASP.NET (c#)
Split and Save data in JS Array using ASP.NET (C#)
我有这段代码:
(我想获得标签并将它们插入JS数组中,将在HTML页面中写入,但我不能正确地获得标签,你能告诉我什么是错的,或者帮助我这样做,我已经搜索了很多解决方案,但没有一个在这里工作,标签被逗号分割)
ASP。
private void Play(List<string> arraySrc, List<string> arrayTitle, List<string> arrayImage, List<string> arrayTags)
{
...
string[] tags = arrayTags.ToArray();
string[] split;
foreach (string item in tags)
{
if (item.IndexOf(',') != -1)
{
split = item.Split(',');
foreach (string s in split)
{
ClientScript.RegisterArrayDeclaration("arrayTags", String.Concat("'"<span class=label>", s, "</span>'" "));
}
}
ClientScript.RegisterArrayDeclaration("arrayTags", String.Concat("'"<span class=label>", item, "</span>'" "));
}
}
JS
function playList () {
disabled();
$("#img").attr("src", "image/no-music.png");
for (var i = 0; i < arraySrc.length; i++) {
$("#tab1 ul").append("<li>" + (i + 1) + ". <a href='javascript:loadMusic('"" + arraySrc[i] + "'", '"" + arrayTitle[i] + "'", '"" + arrayImage[i] + "'", '"" + arrayTags[i] + "'"); selected(" + i + ");'>" + arrayTitle[i] + "</a></li>");
};
}
function loadMusic (musica, title, image, tags) {
enabled();
var audio = $("#player");
$("#tags").empty();
$("#tags").append(tags);
$("#player").attr("src", musica);
$("#title").text(title);
$("#img").attr("src", image);
$("#tags span").addClass("label-info");
/****************/
audio[0].pause();
audio[0].load(); //suspends and restores all audio element
audio[0].play();
}
你做错了。
首先,你在循环中声明了一个javascript数组对象,这意味着你多次声明了一个同名的数组。避免这样做。
其次,你应该给你的数组分配逗号分隔的字符串值来初始化。
基本上,你在javascript中通过服务器端声明一个数组,像这样
ClientScript.RegisterArrayDeclaration("arrayName","1,2,3,4");
or
ClientScript.RegisterArrayDeclaration("arrayName","'"One'",'"Two'",'"Three'"");
因此,这个概念是,在循环中为数组创建值(命令分隔的字符串),然后在循环之后,用这个创建的值注册一个数组。
因此这样做:
private void Play(List<string> arraySrc, List<string> arrayTitle,
List<string> arrayImage, List<string> arrayTags)
{
...
string[] tags = arrayTags.ToArray();
string[] split;
string aT="arrayTags";
string aV=string.empty;
foreach (string item in tags)
{
if (item.IndexOf(',') != -1)
{
split = item.Split(',');
foreach (string s in split)
{
aV +="'""+ String.Concat("<span class=label>", s, "</span>"))+"'",";
}
}
}
aV = aV.SubString(0,av.Length-2);//drop the last trailing comma
ClientScript.RegisterArrayDeclaration(aT,aV);
}
我还没有测试过,注意字符串连接,但这是你应该做的。
相关文章:
- 借助asp.net验证或java脚本对多个文本进行验证
- 将Javascript数组发送到控制器ASP.NET MVC
- ASP.NET通过单击JavaScript按钮触发c#事件
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- 从javascript调用asp.net codebehind函数
- 使用javascript的Asp.net内容占位符
- 获取ASP.NET Ajax Timer状态
- ASP.NET网络摄像头显示
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 如何将乳胶配方奶粉图像保存到Asp.net中的文件夹中
- asp.net,包括iss上的javascript slow
- 选择不在GridView-ASP.NET中激发
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 有什么“;错误的”;将javascript放在asp.net表单上,而不是放在单独的文件中
- 将Javascript日期转换为ASP.NET日期格式
- C#asp.net mvc Set CheckBoxFor已检查的具有Model Value的属性
- 在asp.net中确认是或否消息
- ASP.NET MVC 3-在ajax调用后,重定向到新页面或生成页面刷新
- asp.net中的验证工具