请教aspnet C#页面如何向javascript传递数据,请教大家!!希望大家帮一下忙

snowouldance 2010-12-09 04:04:56
大家好,这个页面是利用javascript画一个简单的图,现在是静态的写了三行数据,数据已经定死了,可以成功画出
testgante.aspx文件代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="testgante.aspx.cs" Inherits="testgante" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>甘特图</title>
<style>
th{color:#FFF;background-color:#F89807;}
td{color:#000;background-color:#FDEDCC;height:16}
input,textarea,th,td{font-size:9pt}
</style>
<script language=javascript src="gante.js"></script>
</head>
<body onload="show.innerHTML=gt.getShow() + gt.getDataShow()">
<script language=javascript>
var gt=new gante2();
gt.Data=[['TV','TCL','A1','pt','W1031','W1038', 30, 'this is A1prototype'],['TV','TCL','A2','pt','W1032','W1038', 30, 'this is A2prototype'], ['TV','TCL','A1','fo','W1039','W1046', 30, 'this is A1first-off']];
gt.setDate();
</script>
<form id="form1" runat="server">
<div id=show>

</div>

</form>
</body>
</html>


但是现在要动态的生成页面,testgante.aspx.cs的pageload()里
有八个字符串,str1 str2.....str8
请教大家在testgante.aspx.cs里如何将这八个字符串的值传递给JS函数
testgante.aspx.cs文件代码

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class testgante : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string str1, str2, str3, str4, str5, str6, str7, str8;
///?????接下来应该怎么写????
}
}

希望大家帮帮忙
...全文
112 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowouldance 2010-12-10
  • 打赏
  • 举报
回复
万分感谢大家的帮助,还想多问一个问题
因为这八个数据是从数据库里读出来的,输入到JS那边去,JS里面是按照recordset读取的
那我页面这边从的数据形式是Dataset,输出到JS的recordset 应该怎么写呢??

gt.Data=[['TV','TCL','A1','pt','W1031','W1038', 30, 'this is A1prototype'],['TV','TCL','A2','pt','W1032','W1038', 30, 'this is A2prototype'], ['TV','TCL','A1','fo','W1039','W1046', 30, 'this is A1first-off']];

暮天逸 2010-12-09
  • 打赏
  • 举报
回复
首先在你的PageLoad里面注册你的这个类可以在script里面引用, AjaxPro.Utility.RegisterTypeForAjax(typeof(testgante))
然后写个共有的方法。
[AjaxPro.AjaxMethod]public List<string> GetStringList()
{
List<string> strList=new List<string>();
strList.Add(str1); strList.Add(str2);
strList.Add(str3); strList.Add(str4);
strList.Add(str5); strList.Add(str6);
strList.Add(str7); strList.Add(str8);
return strList;
}
然后在JS里面 获取这个集合 var strList=testgante.GetStringList().value;
然后你就可以把这集合里面的8个值,按索引取出来。
小弟菜鸟,你看是不是要这样,即使不是的话,给点分,都没分发问了。
rwm5366745 2010-12-09
  • 打赏
  • 举报
回复
Public string str1, str2, str3, str4, str5, str6, str7, str8;

protected void Page_Load(object sender, EventArgs e)
{
// 在这里个变量赋值
}

<script language=javascript>
function fun()
{
var str1=<%=str1%>;
alter(str1);
.....
}
</script>
fingternest 2010-12-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lztguiying 的回复:]
将string str1, str2, str3, str4, str5, str6, str7, str8放在Page_Load事件外面设为全局,然后在js中用<%=str1%>可得到str1的值
[/Quote]
回答正确!每天回帖即可获得10分可用分!
lztguiying 2010-12-09
  • 打赏
  • 举报
回复
也可在前端放八个<input id="Hidden1" runat="server" type="hidden" />把后台的八个字符串赋值给这八个隐藏域,在JS中用document.getElementByid("HIdden1").value取值
lztguiying 2010-12-09
  • 打赏
  • 举报
回复
将string str1, str2, str3, str4, str5, str6, str7, str8放在Page_Load事件外面设为全局,然后在js中用<%=str1%>可得到str1的值
snowouldance 2010-12-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kk706 的回复:]

可以在page_load函数里给页面注册一个js函数(onload,调用你的那个画图方法,把你那个画图写成一个带参数的js函数),或是 response.write输出你的js代码
[/Quote]

不是很明白 大哥能否详细说一下?? 万分感谢
kk706 2010-12-09
  • 打赏
  • 举报
回复
可以在page_load函数里给页面注册一个js函数(onload,调用你的那个画图方法,把你那个画图写成一个带参数的js函数),或是 response.write输出你的js代码

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧