我想接受List作为javascript函数的参数。
我从后面的代码中调用此函数。
并将一个List传递给函数。
但是我在调用函数时得到了“ System.Collections.Generic.List`1 [System.Int32]”作为参数值。
函数调用时我应该怎么做才能得到列表。
我的代码是:
Default.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
List<int> num = new List<int> { 12, 13, 14, 15, 16, 17, 18 };
List<int> oddNum = num.Where(n => n % 2 == 1).ToList();
ScriptManager.RegisterStartupScript(this, GetType(), "test", "test('"+oddNum+"');", true);
}
Default.aspx
<head runat="server">
<title></title>
<script type="text/javascript">
function test(oddNum) {
alert(oddNum);
}
</script>
</head>
参考方案
两个问题:
您依赖List<int>#ToString
,它将为您提供一个字符串,例如“ System.Collections.Generic.List`1 [System.Int32]”。您需要执行一些操作以有效地输出列表。
您将其作为字符串传递给JavaScript函数。尽管这可以工作(我们可以将其转换为JavaScript中的数组),但没有必要;您可以将其直接作为数组传递。
在服务器上,使用string.Join
将列表转换为字符串,并使用[
和]
代替其周围的'
:
ScriptManager.RegisterStartupScript(this, GetType(), "test", "test([" + string.Join(",",oddNum) + "]);", true);
假设我们的清单中有1、3和5。这样调用您的函数:
test([1, 3, 5]);
然后,您的JavaScript函数将收到一个数组:
function test(oddNum) {
// Use the oddNum array
}
在<select>元素上忽略了DDSlick的“ selected”属性 - javascript我正在使用以下jQuery插件:http://designwithpc.com/Plugins/ddSlick要在下拉列表中显示可选图像,请选择框。它与我尝试使用已选择的选项加载html时非常有用,但在DDSlick中未选择此选项(因此它仅显示第一个选择的选项)。如何转换:<select class="homepage_icon" …
将List <Model>转换为ObservableCollection <ViewModel> - c#我对MVVM实施相当陌生。这听起来像是一个重复性的问题,但是我找不到任何可以帮助我更好地理解基础知识的东西。我有一个带有成员的Model类,如下所示:public class Model { public string Name { get; set; } public int Age { get; set; } public List<Model&g…
用symfony隐藏树枝中的表格行 - javascript我正在开始编码。我正在使用Symfony 3.3我想用复选框隐藏(并显示)表上的a或某些特定行。我尝试使用javascript和jquery。我希望隐藏的行保持隐藏状态。我不知道该怎么做。这是我的树枝{% block body %} <div class="container"> <h3>List of produ…
我必须编写正则表达式,它只允许@#$%作为特殊符号,而不允许其他诸如?> <`〜符号的符号 - javascript我必须编写正则表达式,它只允许!@#$%^&作为特殊符号,字母和数字,而不允许其他特殊符号,如?> <`〜符号。我尝试使用:(?=.*\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&]这要求我输入我在正则表达式中提到的至少一个数字,一个字符和一个特殊符号,这很好用。但是我想输入其他特殊符号(例如〜)吗?等等,那么它必须…
如何将List <>传递给Javascript并在组合框C#中显示 - javascript我有一个列表,其中存储了一些从数据库中筛选出的记录。我不懂Javascript。有谁可以教我如何将列表传递给Javascript并将其显示在组合框中?P / S:我希望组合框文本字段存储Name(允许用户查看),而value字段存储nameId(从用户隐藏)。我后面的C#代码如下:public static List<bllControls> g…