2016-09-16 46 views
0

這是我的一個標籤:如何獲得當按鈕被點擊新網頁上的表格

<asp:Button ID="button" runat="server" Text="ShowOrder" onclick="newTab" /> 

這是我的「aspx.cs」按鈕被點擊時會被調用

protected void newTab(object sender, EventArgs e) 
    { 
     Response.Redirect("Default2.aspx?id="+txtSearchCustomerByID.Value); 
    }  

我想要的是打開我的sql表加載的web選項卡(新頁面)時,它被加載。

我的存儲過程正在顯示我的表的數據,其中id等於「用戶在文本框中輸入的id」。

現在,

protected void Page_Load(object sender, EventArgs e) 
    { 
    int id_no = int.Parse(Request.QueryString["id"]); 
    if (Page.IsPostBack) 
     { 
     showOrders(id_no); 
     } 
    } 

現在我應該有 'Default2.aspx',這樣我會用得到我的表,

public void showOrders(int id) 
    { 
    using (SqlConnection con = new SqlConnection(strConnString)) 
    { 
     SqlCommand cmd = new SqlCommand("showOrdersSP", con); 
     cmd.CommandType = CommandType.StoredProcedure; 
     cmd.Parameters.AddWithValue("@id", id); 
     con.Open(); 
     ....... 
    } 
    } 

我需要使用數據表

所以,當我點擊時,我會在新頁面上獲取數據表

+0

嘗試使用查詢字符串或會話獲得其它頁面的詳細信息。 –

+0

我編輯了我的代碼。我用QueryString取值爲「id」。我想要一個包含我表格記錄的數據表。 –

回答

0

您可以參考下面的代碼:

public void showOrders(int id) 
    { 
    using (SqlConnection con = new SqlConnection(strConnString)) 
    { 
     DataTable dt = new DataTable(); 
     SqlParameter[] p1 = new SqlParameter[1]; 
     p1[0] = new SqlParameter("@id", id);  
     dt= getRecords_table("showOrdersSP", p1); // you will get your DataTable here 

    } 
    } 

// Common Method for FillYour Tables 
private DataTable getRecords_table(string spname, SqlParameter[] para) 
     { 
      string connectionstring = System.Configuration.ConfigurationManager.ConnectionStrings["connName"].ConnectionString.ToString(); 
      SqlConnection con = new SqlConnection(connectionstring); 
      SqlDataAdapter ad = new SqlDataAdapter(spname, con); 
      ad.SelectCommand.CommandType = CommandType.StoredProcedure; 
      DataTable dt = new DataTable(); 
      ad.SelectCommand.Parameters.AddRange(para); 
      con.Open(); 
      ad.Fill(dt); 
      con.Close(); 
      return dt; 

     } 

希望它會幫助你

感謝

+0

感謝您的努力。我嘗試過這個。然後我將「dt」綁定到一個gridview,它工作但沒有獲取記錄。它顯示一個空表。 –

+0

您是否通過運行以下命令獲取SQL服務器上的記錄:'exec showOrdersSP 1'。我的意思是在SQL服務器上執行你的sp? –

+0

是的,我的SP在那裏工作。 –