c# - Text boxes Not changing after selecting from dropdown list -
my web page should allow me select title of book drop-down list, press select button, , textboxes(ie. author, year, category) should change according book selected. however, when select second book list, loops show details of 1st book on dropdown list, no matter select, shows first record.
here code:
protected void page_load(object sender, eventargs e) { loaddetails(); } private void loaddetails() { sqlconnection conn; sqlcommand comm; sqldatareader reader; string connectionstring =configurationmanager.connectionstrings["database"].connectionstring; conn = new sqlconnection(connectionstring); comm = new sqlcommand("select bookid, title books", conn); try { conn.open(); reader = comm.executereader(); ddlsearch.datasource = reader; ddlsearch.datavaluefield = "bookid"; ddlsearch.datatextfield = "title"; ddlsearch.databind(); reader.close(); } catch { lblerror.text = "error loading books"; } { conn.close(); } } protected void btnsearch_click(object sender, eventargs e) { sqlconnection conn; sqlcommand comm; sqldatareader reader; string connectionstring =configurationmanager.connectionstrings["database"].connectionstring; conn = new sqlconnection(connectionstring); comm = new sqlcommand("select isbn, author, title, year, category books bookid=@bookid", conn); comm.parameters.add("@bookid", system.data.sqldbtype.int); comm.parameters["@bookid"].value = ddlsearch.selecteditem.value; try { conn.open(); reader = comm.executereader(); if (reader.read()) { txtisbn.text = reader["isbn"].tostring(); txtauthor.text = reader["author"].tostring(); txttitle.text = reader["title"].tostring(); txtyear.text = reader["year"].tostring(); txtcat.text = reader["category"].tostring(); } } catch { lblerror.text = "error laoding pages"; } { conn.close(); } }
i've tried many different variations of code doesnt seem working. simple enough fix can't put finger on it. appreciated. thanks!
your problem in page_load, btnsearch_click event fired after enter page_load event , since didn't check if page posts reload details again, solvethe problem:
protected void page_load(object sender, eventargs e) { if(!ispostback) loaddetails(); }
Comments
Post a Comment