c# - textbox value inside a repeater and save -
i have code here gets transaction number on search bar , show on page. have 2 textbox wherein client enter price payed , or no of receipt. however, getting error
"object reference not set instance..."
.aspx
<form id="form1" runat="server"> <div> <asp:repeater id="rptrcashiertable" runat="server"> <itemtemplate> <div> <h1 align="center">transaction number: <label><%# eval("txnno") %></label> <h2>name:<label><%# eval("fname") %></label> <label><%# eval("mname") %></label> <label><%# eval("lname") %></label></h2> <h2>contact number: <label><%# eval("mobile") %></label></h2> <h2>product ordered: <label><%# eval("pname") %></label></h2> <h2>product id:<label><%# eval("productid") %></label></h2> <h2>price: <asp:textbox id="textbox1" runat="server"></asp:textbox></h2> <h2>or no.: <asp:textbox id="textbox2" runat="server"></asp:textbox></h2> <asp:button id="button1" runat="server" text="submit" onclick="btn_update" /> </div> </itemtemplate> </asp:repeater> </div> </form> .cs
public partial class transactiondetails : system.web.ui.page { sqlquery sql = new sqlquery(); dataset ds = new dataset(); protected void page_load(object sender, eventargs e) { if (!ispostback) { bindcasiertable(); } } private void bindcasiertable() { string transctid = request.querystring["txnno"]; ds = sql.dsgetclientdetails(transctid); rptrcashiertable.datasource = ds; rptrcashiertable.databind(); } protected void btn_update(object sender, eventargs e) { foreach (repeateritem item in rptrcashiertable.items) { if (item.itemtype == listitemtype.item) { var txtprice = item.findcontrol("textbox1") textbox; var txtorno = item.findcontrol("textbox2") textbox; string txnno = request.querystring["txnno"]; ds = sql.dsaddpayment(txtprice.text, txtorno.text, txnno); txtprice.text = string.empty; txtorno.text = string.empty; bindcasiertable(); } } } } i using mssql 2008 , stored procedure. want update , put price payed , or number respective field.
that error message means assigning null value. guess error pops out here:
string transctid = request.querystring["txnno"] you should check if null first:
if(request.querystring["txnno"]!=null) { // make assignation here }
Comments
Post a Comment