2014-01-09 53 views
0

我有一個帶有4個文本框和搜索按鈕的jQuery對話框。我想從我的數據庫中搜索一個值,然後在GridView中顯示該值,每個文本框都有一個字符串@firstname@lastname@address@mobile用戶可以在任何文本框中輸入一個值,如果他們點擊btnSearch_Click的值將顯示在GridView中。使用多個文本框和搜索按鈕從SQL數據庫搜索數據

我希望你能理解我的問題(不擅長英語,不擅長編程)。

問題:如果用戶在任何文本框的值的輸入值將在gridview的顯示和對話應關閉

JS:

<script type="text/javascript"> 
    $(function() { 
     $("#Searchprod").dialog({ 
      appendTo: "form", 
      autoOpen: false, 
      width: 630, 
      height: 350, 
      draggable: false, 
      resizable: false, 
      modal: true 
     }); 

     $("#btnupregSearch").click(function() { 
      $("#Searchprod").dialog("open"); 
      return false; 
     }); 
    }); 
</script> 

對話框瓦特/文本框和按鈕:

<div id="Searchprod" title="Search User"> 
<asp:UpdatePanel runat="server" ID="Searchpanel" > 
<ContentTemplate> 
<table> 
    <tr> 
     <td><label class="label">By First Name</label></td> 
     <td><asp:TextBox ID="txtfn" runat="server" class="basetxt" ></asp:TextBox></td> 
    </tr> 
    <tr> 
     <td><label class="label">By Last Name</label></td> 
     <td><asp:TextBox ID="txtln" runat="server" class="basetxt" ></asp:TextBox></td> 
    </tr> 
    <tr> 
     <td><label class="label">By Address</label></td> 
     <td><asp:TextBox ID="txtadd" runat="server" class="basetxt"></asp:TextBox></td> 
    </tr> 
    <tr> 
     <td><label class="label">By Mobile</label></td> 
     <td><asp:TextBox ID="txtmobile" runat="server" class="basetxt" ></asp:TextBox></td> 
    </tr> 
    <tr> 
     <td><table> 
      <tr> 
       <td><asp:Button ID="btnSearch" runat="server" CausesValidation="false" Text="Search" class="submitbtn" onclick="btnSearch_Click" /></td> 
      </tr> 
     </table></td> 
    </tr> 
    <tr> 
     <td><asp:UpdateProgress ID="updateprogress1" runat="server" AssociatedUpdatePanelID="Searchpanel" cla> 
     <ProgressTemplate></ProgressTemplate> 
     </asp:UpdateProgress></td> 
    </tr> 
</table> 
</ContentTemplate> 
</asp:UpdatePanel> 
</div> 

這是我試過但我認爲它不工作

按鈕:

protected void btnSearch_Click(object sender, EventArgs e) 
    { 

     SqlConnection con = new SqlConnection(strConnString); 
     con.Open(); 
     SqlCommand com = new SqlCommand("find", con); 
     com.Parameters.Add("@firstname", SqlDbType.VarChar).Value = txtfn.Text; 
     com.Parameters.Add("@lastname", SqlDbType.VarChar).Value = txtln.Text; 
     com.Parameters.Add("@address", SqlDbType.VarChar).Value = txtadd.Text; 
     com.Parameters.Add("@mobile", SqlDbType.VarChar).Value = txtmobile.Text; 
     com.CommandType = CommandType.StoredProcedure; 
     SqlDataAdapter sqlda = new SqlDataAdapter(com); 
     dt.Clear(); 
     sqlda.Fill(dt); 
     if (dt.Rows.Count > 0) 
     { 
      GridView1.DataSource = dt; 
      GridView1.DataBind(); 

     } 
    } 

回答

0

updatepanel需要位於div#Searchprod的外部。你現在的方式,我不認爲div#Searchprod將關閉。

<asp:UpdatePanel runat="server" ID="Searchpanel" > 
<ContentTemplate> 
<div id="Searchprod" title="Search User"> 

<table> 
    <tr> 
     <td><label class="label">By First Name</label></td> 
     <td><asp:TextBox ID="txtfn" runat="server" class="basetxt" ></asp:TextBox></td> 
    </tr> 
    <tr> 
     <td><label class="label">By Last Name</label></td> 
     <td><asp:TextBox ID="txtln" runat="server" class="basetxt" ></asp:TextBox></td> 
    </tr> 
    <tr> 
     <td><label class="label">By Address</label></td> 
     <td><asp:TextBox ID="txtadd" runat="server" class="basetxt"></asp:TextBox></td> 
    </tr> 
    <tr> 
     <td><label class="label">By Mobile</label></td> 
     <td><asp:TextBox ID="txtmobile" runat="server" class="basetxt" ></asp:TextBox></td> 
    </tr> 
    <tr> 
     <td><table> 
      <tr> 
       <td><asp:Button ID="btnSearch" runat="server" CausesValidation="false" Text="Search" class="submitbtn" onclick="btnSearch_Click" /></td> 
      </tr> 
     </table></td> 
    </tr> 
    <tr> 
     <td><asp:UpdateProgress ID="updateprogress1" runat="server" AssociatedUpdatePanelID="Searchpanel" cla> 
     <ProgressTemplate></ProgressTemplate> 
     </asp:UpdateProgress></td> 
    </tr> 
</table> 
</ContentTemplate> 

</div> 
</asp:UpdatePanel> 
+0

我得到一個新的錯誤'ConnectionString屬性尚未initialized.''con.Open();' –

+0

你應該檢查變量「strConnString」正在某處設置。我無法從你的代碼中知道這是事實。 –