我有用C#編寫的銷售模擬器。我沒有寫這個,但是我現在正在修改它以適應不同的要求。文本框不顯示在c#文件後面的代碼中
它基本上顯示來自數據庫的產品列表,並且每個產品都有一個文本框,您可以輸入銷售數量。銷售數量根據數據庫中的價格計算。
現在一切正常,但有一個小問題。當點擊「購買」時,它會將我返回到正確的產品清單,但是我爲前一產品輸入的數量仍然存在。
我想知道如何在將數據提交到數據庫後將文本框恢復爲默認值。
我一直認爲這樣做會在代碼的.cs隱藏文件
txtQuantity.Text = "";
但是,對於一些奇怪的原因,txtQuantity不會顯示出來的方式。
任何人都可以想到我做錯了什麼?這是來自aspx文件的一段代碼。
<form id="form1" runat="server">
Date:
<asp:TextBox ID="txtDate" runat="server" />
Retailer:
<asp:DropDownList ID="dlStore" runat="server"
onselectedindexchanged="dlStore_SelectedIndexChanged" />
<asp:ListView ID="lbProducts" runat="server">
<LayoutTemplate>
<layouttemplate>
<table border="1" cellpadding="1" style="width:800px">
<tr style="background-color:#E5E5FE">
<th>ID</th>
<th>ProductCode</th>
<th>Product Title</th>
<th>RRP $</th>
<th>Quantity</th>
<th>Sale Price $</th>
</tr>
<tr id="itemPlaceholder" runat="server"></tr>
</table>
</layouttemplate>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td style="width: 50px;">
<%#Eval("ProductID") %>
</td>
<td>
<%#Eval("ProductCode") %>
</td>
<td>
<%#Eval("ProductTitle") %>
</td>
<td>
<%#Eval("USListPrice") %>
</td>
<td style="width: 50px;">
<asp:TextBox ID="txtQuantity" runat="server" Text="0" />
</td>
<td style="width: 50px;">
<asp:TextBox ID="txtSalePrice" runat="server" Text="0.00" />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<asp:Button ID="btnBuy" Text="Buy These Items" runat="server" OnClick="btnBuy_Click" />
<asp:Button ID="btnClear" Text="Clear Existing Sales" runat="server"
onclick="btnClear_Click" />
</form>
有很多的代碼隱藏文件怎麼回事,我不希望任何人都可以通過它,但我是如何從txtQuantity收集的數據與下面的一行代碼中完成:
Int32 quantity = Int32.Parse(((TextBox)item.FindControl("txtQuantity")).Text);
所以我想要做的就是將這個文本框設置爲空或者歸零。
任何幫助表示讚賞,謝謝。
首先,你應該檢查txtQuantity和txtSalePrice的任何地方設置在ListView的綁定事件處理程序中。我可以想象,內部有一個Order Object,它保存數量,並在提交後綁定到列表視圖,但不知道代碼是不可能說出發生了什麼。 – 2010-11-17 09:35:14
另外,您在提交訂單後,實際上會將用戶重定向到確認頁面/訂單狀態頁面。 – 2010-11-17 09:39:39
@ovm,感謝您的回覆,我會檢查出來。此外,如果數據已成功提交,我的頁面上會有一個標籤顯示給用戶,但是我只是爲了顯示更多相關位代碼而將其拿出來。 – 109221793 2010-11-17 09:49:20