首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从CS到Js变量的System.Collections.Generic.List

问从CS到Js变量的System.Collections.Generic.List
EN

Stack Overflow用户
提问于 2014-10-24 12:29:28
回答 2查看 7.4K关注 0票数 1

在MyPage.aspx.cs上,我有一个对象列表

代码语言:javascript
复制
     protected List<MyObj> myObjList =null;
     protected void Page_Load(object sender, EventArgs e)
        {
    myObjList = GetObjByUserId("23423");
    }

在aspx页面上,我希望将这个对象列表分配给JS变量。

代码语言:javascript
复制
<script type="text/javascript">
    $(document).ready(function () {
var BookingsList = <%=myObjList %>;

</script>

而是像string=>那样的赋值类型。

代码语言:javascript
复制
System.Collections.Generic.List`1[myObj]

如何将对象集合从CS分配给JS变量?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-24 13:40:13

尝试使用JavaScriptSerializer,如下所示:

c#码

代码语言:javascript
复制
Student student = new Student();
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
string StudentJson = oSerializer.Serialize(resources);

在您的aspx代码中,可以这样做:

代码语言:javascript
复制
<script type="text/javascript">
    var jsonStudent = <%=StudentJson%>;            
</script>

请确保StudentJson是后端类中的公共或受保护的属性。

票数 2
EN

Stack Overflow用户

发布于 2014-10-24 12:33:30

您需要将列表放入javascript格式。在纯javascript中,您正在查找以下输出(例如):

代码语言:javascript
复制
var jsList = ['val1', 'val2', 'val3'];

要从.NET获得这一点,您需要使用Join函数将列表项组合成适当的格式。完整的代码行如下:

代码语言:javascript
复制
var jsList = <%= "['" + string.Join("', '", myObjList.ToArray()) + "']" %>;

请注意,这假设元素上的"ToString“生成要查找的输出,而不包括单引号。希望这能帮上忙!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26547890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档