asp.net
  • sql
  • session
  • 2011-10-11 61 views 0 likes 
    0

    我在asp.net中編寫了「列出所有產品」頁面。我做了從數據庫到ViewList的連接。現在我必須讓產品可點擊。我已經在asp部分到目前爲止編碼的,因爲它遵循:將NavigateUrl Id傳遞到下一頁Sql語句

    <div class="image"> 
         <asp:HyperLink ID="HyperLinkSaleDesign" runat="server" NavigateUrl='<%# Eval("ID" , "~/EN/ViewTemplate.aspx?id={0}") %>'> 
          <asp:Image ID="ImageSaleDesign" runat="server" Width="247" Height="150" ImageUrl='<%# Eval("thumb") %>' /> 
          </asp:HyperLink> 
    </div> 
    

    導航網址的作品,我可以看到所選的「ID = {0}?」。 但是我無法正確傳遞數據,因此下一頁上的SQL查詢不起作用。

    我不知道如何將此值傳遞給Select語句。這是我到目前爲止所做的:

    String IDquery = ("QueryStringParameter[ID]"); // doesn't work 
    
         try 
         { 
          string ConnectionString = WebConfigurationManager.ConnectionStrings["Twebconfig"].ConnectionString; 
          SqlConnection viewTemplate = new SqlConnection(ConnectionString); 
    
          SqlDataAdapter viewTemplateSet = new SqlDataAdapter("SELECT " + 
          " * FROM saleDesigns WHERE ID = @IDquery", viewTemplate); // doesn't seem to see the variable 
    
          Data Binding - etc. etc. etc 
         } 
         catch (Exception err) 
         { 
          mylabel.Text = "Invalid " + err.Message; 
         } 
    

    我願意接受任何建議。 謝謝。

    回答

    0

    我對你的代碼有點困惑,但它看起來像你只需要從QueryString中檢索id並用它構建一個SQL查詢,對吧?

    這是你想要做什麼?:

    int id = int.Parse(Request.QueryString["id"]); 
    

    你可以把查詢一起使用從查詢字符串的ID,你可以做這樣的事情:

    //just an example - should be parameterized to avoid injection 
    string query = String.Format("SELECT ID, Col1, Col2 FROM Table1 WHERE ID={0}", Request.QueryString["ID"]); 
    
    +0

    我想要做的是: 從第一頁 - 這是aspx代碼,爲了獲得用戶的選擇以及何時將其傳送到下一頁,使用此選項來查詢數據庫。 換句話說,我使用ViewList從數據庫中列出所有產品。用戶可以選擇某個產品,然後立即將其轉移到另一個頁面,其中將列出所有詳細信息 – tob1as

    +0

    您是否在從第一頁傳遞ID或從第二頁中檢索ID時遇到問題? –

    +0

    我無法從第二頁中檢索它。我一直聽到類似這樣的select語句的錯誤「初始化字符串的格式不符合從索引0開始的規範。」 – tob1as

    0

    這是它對我的工作方式:

    int v = 0; 
    try 
    { 
        int v = int.Parse(Request.QueryString["id"]); 
    } 
    catch (Exception e) 
    {} 
         if (v > 0) 
         { 
    
          try 
          { 
           string ConnectionString = WebConfigurationManager.ConnectionStrings["connstring"].ConnectionString; 
           SqlConnection conn = new SqlConnection(ConnectionString);//explisionremoteEntities 
    
           string query = String.Format("SELECT * FROM table WHERE ID={0}", Request.QueryString["ID"]); 
           SqlDataAdapter viewTemplateSet = new SqlDataAdapter(query, conn); 
        } 
        catch 
        { 
         //code in here 
        } 
        } 
    
    相關問題