在MyPage.aspx.cs上,我有一个对象列表
protected List<MyObj> myObjList =null;
protected void Page_Load(object sender, EventArgs e)
{
myObjList = GetObjByUserId("23423");
}在aspx页面上,我希望将这个对象列表分配给JS变量。
<script type="text/javascript">
$(document).ready(function () {
var BookingsList = <%=myObjList %>;
</script>而是像string=>那样的赋值类型。
System.Collections.Generic.List`1[myObj]如何将对象集合从CS分配给JS变量?
发布于 2014-10-24 13:40:13
尝试使用JavaScriptSerializer,如下所示:
c#码
Student student = new Student();
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
string StudentJson = oSerializer.Serialize(resources);在您的aspx代码中,可以这样做:
<script type="text/javascript">
var jsonStudent = <%=StudentJson%>;
</script>请确保StudentJson是后端类中的公共或受保护的属性。
发布于 2014-10-24 12:33:30
您需要将列表放入javascript格式。在纯javascript中,您正在查找以下输出(例如):
var jsList = ['val1', 'val2', 'val3'];要从.NET获得这一点,您需要使用Join函数将列表项组合成适当的格式。完整的代码行如下:
var jsList = <%= "['" + string.Join("', '", myObjList.ToArray()) + "']" %>;请注意,这假设元素上的"ToString“生成要查找的输出,而不包括单引号。希望这能帮上忙!
https://stackoverflow.com/questions/26547890
复制相似问题