把你组合成sql 语句,放到隐藏的input<input type=hidden id="sql" runat="server">中,Server端就可以读到了

解决方案 »

  1.   

    先用客户端生成sql语句,然后再把sql语句传到后台就可以了
      

  2.   

    我想把数据库的字段,填充到javascript里的一个数组,让后客户段的javascript可以访问这个脚本,生成sql 语句,(写到一个hide字段中)提交到数据库!
    怎么填充javascript的一个数组(从数据库去出记录)
      

  3.   

    hidden VS 的工具箱有这个控件,可以实现,前台数据与后台的通讯
      

  4.   

    个你个例子,参考一下
    <%@ Page language="c#" Codebehind="DataGrid_Nest_DataGrid.aspx.cs" AutoEventWireup="false" Inherits="SJ_DW.Sample.DataGrid_Nest_DataGrid" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <META http-equiv="Content-Type" content="text/html; charset=gb2312">
    <body style="FONT: x-small Verdana, Arial, sans-serif" onload="close_1();">
    <!-- Begin Web Form -->
    <form id="CustomerOrderDataGrid" method="post" runat="server">
    <p><A href="/DayOfDotNet/">parent Directory</A>&nbsp;&nbsp;
    <asp:button id="Button1" runat="server" Text="收 缩"></asp:button><span id="span1"></span></p>
    <!-- Begin DataGrid --><asp:datagrid id="CustomerDataGrid" runat="server" GridLines="Horizontal" BorderWidth="1" BorderColor="Black"
    Font-Names="Verdana,Arial,sans-serif" CellSpacing="0" CellPadding="2" AutoGenerateColumns="False" Width="758px" AllowPaging="True"
    PageSize="5" Font-Size="Small" Height="256px">
    <AlternatingItemStyle BackColor="Tan"></AlternatingItemStyle>
    <ItemStyle Font-Size="X-Small"></ItemStyle>
    <HeaderStyle Font-Size="Small" Font-Names="Arial" Font-Bold="True" ForeColor="White" BackColor="Maroon"></HeaderStyle>
    <Columns>
    <asp:TemplateColumn HeaderText="Customer">
    <ItemStyle VerticalAlign="Top"></ItemStyle>
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "customerid", "{0:C}" ) %>
    <%# DataBinder.Eval(Container.DataItem, "companyname", "{0:C}" ) %>
    <b>第一行显示住表信息!</b>
    <br>
    <img id="IMGT" runat="server" src="display.gif">
    <asp:Literal ID="L_START" Runat="server"></asp:Literal>
    <!-- nest DataGrid -->
    <asp:DataGrid runat="server" ID="DataGrid1" AutogenerateColumns="False" Width=754px GridLines="Horizontal" BorderColor="Black" BorderWidth="1" Font-Name="Verdana" Font-Size="x-small" DataSource='<%# getOrdersDataSource( (string)DataBinder.Eval(Container.DataItem, "CustomerID") ) %>' >
    <HeaderStyle BackColor="Black" ForeColor="White" Font-Bold="True" />
    <ItemStyle BackColor="White" />
    <AlternatingItemStyle BackColor="Silver" />
    <Columns>
    <asp:BoundColumn DataField="OrderID" HeaderText="Order ID" />
    <asp:TemplateColumn>
    <ItemTemplate>
    <b>Order Date: </b>
    <%# DataBinder.Eval(Container.DataItem, "OrderDate", "{0:D}" ) %>
    <br>
    <b>Shipped Date: </b>
    <%# DataBinder.Eval(Container.DataItem, "OrderDate", "{0:D}" ) %>
    <br>
    <b>Required Date: </b>
    <%# DataBinder.Eval(Container.DataItem, "OrderDate", "{0:D}" ) %>
    <br>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:DataGrid>
    <!-- Begin Test -->
    <asp:Literal ID="L_END" Runat="server"></asp:Literal>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    <PagerStyle NextPageText="后一页" PrevPageText="前一页"></PagerStyle>
    </asp:datagrid>
    <!-- End DataGrid --></form>
    <!--
    隐藏子DataGrid
    -->
    <script language="javascript">
    function Display()
    {
    if(document.all("1").style.display=="none")
    {
    document.all("1").style.display=""; }
    else
    {
    document.all("1").style.display="none"; 
    }
    }
    function openbrd(brd)
    {
       var td = document.getElementById(brd);
       //alert("mouse")
       if(td.style.display=="none")
       {
          td.style.display="";
          //img.src="./images/negative.gif";
       } 
       else 
       {
       td.style.display="none"; 
       //img.src="./images/plus.gif";
       }
    }
    function close_1()
    {
    for(i=0;i<20;i++)

    if (document.all(i.toString())!=null)
    {
    //if(document.all(i.toString()).style.display=="none")
    {
    // document.all(i.toString()).style.display="";  }
    //else
    {
    document.all(i.toString()).style.display="none"; 
    }  
    }
     } 
      return false;
      } </script>
    <!-- End Web Form -->
    </body>
    </HTML>
      

  5.   

    asp.cs
    **********
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient ;namespace SJ_DW.Sample
    {
    /// <summary>
    /// DataGrid_Nest_DataGrid 的摘要说明。
    /// </summary>
    public class DataGrid_Nest_DataGrid : System.Web.UI.Page
    {
    //protected System.Web.UI.WebControls.Literal L_START;
    //protected System.Web.UI.WebControls.Literal L_END;

    protected System.Web.UI.WebControls.DataGrid CustomerDataGrid;
    protected System.Web.UI.WebControls.Button Button1;
    private DataSet ds = new DataSet();
      
    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!Page.IsPostBack)
    {
    BindData();

    Button1.Attributes.Add("onclick"," return close_1();");

    } private void BindData()
    {
    string sqlStmt = "SELECT * FROM Customers where customerid like '"+"%a%'"+"; SELECT * FROM Orders";
    string conString = "server=localhost;database=Northwind;uid=sa;pwd=;";
      
    SqlDataAdapter sda = new SqlDataAdapter(sqlStmt, conString);
      
    sda.Fill(ds);
    ds.Tables[0].TableName = "Customers";
    ds.Tables[1].TableName = "Orders";
      
    CustomerDataGrid.DataSource = ds.Tables["Customers"];
    CustomerDataGrid.DataBind();
    }
    protected DataView getOrdersDataSource(string _customerID)

    DataView _orders = ds.Tables["Orders"].DefaultView;
    _orders.RowFilter = "CustomerID='" + _customerID + "'";
    return _orders;
    }  #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.CustomerDataGrid.ItemCreated += new System.Web.UI.WebControls.DataGridItemEventHandler(this.CustomerDataGrid_ItemCreated_1);
    this.CustomerDataGrid.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.CustomerDataGrid_PageIndexChanged);
    this.CustomerDataGrid.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.CustomerDataGrid_ItemDataBound_1);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion private void CustomerDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType==ListItemType.Item)
    {
    //e.Item.Attributes["onclick"]="this.style.display='none'";
    } } private void CustomerDataGrid_ItemDataBound_1(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {

    Literal aa=(Literal)e.Item.FindControl("L_START");
    if (!(aa == null))
    {
    aa.Text="<Table><TR><TD ID=\""+ e.Item.ItemIndex+"\" width=100%>";
         }
    Literal bb=(Literal)e.Item.FindControl("L_END");
    if (!(aa == null))
    {
    bb.Text="<TD></TR></Table>";
    }

    //张开,折叠
    System.Web.UI.HtmlControls.HtmlImage  cc=(HtmlImage)e.Item.FindControl("IMGT");
    if (!(cc == null))
    {
    cc.Attributes.Add("onclick","openbrd('" +e.Item.ItemIndex+ "')");
    }
    } private void CustomerDataGrid_ItemCreated_1(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {

    } private void CustomerDataGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
    CustomerDataGrid.CurrentPageIndex =(int)e.NewPageIndex ;
    BindData();  }
    }
    }