现在打算用sqldatareader从数据库表中读出了spot,longitude,latitude,construct,然后想传给前台,请问怎么样与javascript传递数据呢?
应该是传递数组吧。请大家爱各抒己见啊,谢谢。
  另:本人是在页面上根据数据库的经纬度做一个google地图显示,遇到了这个问题。请大家指教。

解决方案 »

  1.   

    使用ASP.NET AJAX框架,在JavaScript中调用后台WebService
      

  2.   

    public string str()
    {
    return("a"); 
    }<script language=javascript>
    var a = "<%=str()%>"; 
    alert(a); 
    </script>
      

  3.   

    下面的代码示例演示 RegisterArrayDeclaration 和 RegisterHiddenField 方法的使用。该示例注册了一个数组和一个隐藏值,并定义 <input> 按钮的 OnClick 事件以计算数组的两个值和隐藏值之和。 
    C# code <%@ Page Language="C#"%><script runat="server">
     
      public void Page_Load(Object sender, EventArgs e)
      {
        //声明数组名和数组值.
        String arrName = "MyArray";
        String arrValue = "\"1\", \"2\", \"text\"";
            
        // Define script name and type.
        String csname = "ConcatScript";
        Type cstype = this.GetType();
            
        //从当前页获取ClientScriptManager实例.
        ClientScriptManager cs = Page.ClientScript;    //添加数组声明.
        cs.RegisterArrayDeclaration(arrName, arrValue);     // Check to see if the  script is already registered.
        if (!cs.IsClientScriptBlockRegistered(cstype, csname))
        {
          StringBuilder cstext = new StringBuilder();
          cstext.Append("<script type=text/javascript> function DoClick() {");
          cstext.Append("Form1.Message.value='Sum = ' + ");
          cstext.Append("(parseInt(" + arrName + "[0])+");
          cstext.Append("parseInt(" + arrName + "[1])+");
          cstext.Append("parseInt(" + Form1.Name + "." + hiddenName + ".value));} </");
          cstext.Append("script>");
          cs.RegisterClientScriptBlock(cstype, csname, cstext.ToString(), false);
        }
      }
    </script>
    <html>
      <head>
        <title>ClientScriptManager Example</title>
      </head>
      <body>
         <form    id="Form1"
                runat="server">
         <input type="text"
                id="Message" />
         <input type="button" 
                onclick="DoClick()" 
                value="Run Script">
         </form>
      </body>
    </html>
      

  4.   

    using System;
    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 _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataBind();
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Clear();
            System.Web.HttpContext curContext = System.Web.HttpContext.Current;         Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
            Response.Charset = "UTF-8";
            curContext.Response.ContentEncoding = System.Text.Encoding.UTF8;
           
            Response.ContentType = "application/vnd.xls";
            System.IO.StringWriter stringWrite = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
            GridView1.AllowPaging = false;
            BindData();
            GridView1.RenderControl(htmlWrite);
            Response.Write(stringWrite.ToString());
            Response.End();
            GridView1.AllowPaging = true;
            BindData();    }
        private void BindData()
        {
            GridView1.DataBind();
        }
        public override void VerifyRenderingInServerForm(Control control)
        {
            // Confirms that an HtmlForm control is rendered for
        }}
      

  5.   

    或者你可以考虑用JavaScript+XML 即:AJAX