UpdatePanelExample3CS.aspx 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <%@ Page Language="C#" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <script runat="server">
  5. private void ChangeQuantity(object sender, int delta)
  6. {
  7. Label quantityLabel = (Label)((Button)sender).FindControl("QuantityLabel");
  8. int currentQuantity = Int32.Parse(quantityLabel.Text);
  9. currentQuantity = Math.Max(0, currentQuantity + delta);
  10. quantityLabel.Text = currentQuantity.ToString(System.Globalization.CultureInfo.InvariantCulture);
  11. }
  12. private void OnDecreaseQuantity(object sender, EventArgs e)
  13. {
  14. ChangeQuantity(sender, -1);
  15. }
  16. private void OnIncreaseQuantity(object sender, EventArgs e)
  17. {
  18. ChangeQuantity(sender, 1);
  19. }
  20. protected void Button1_Click(object sender, EventArgs e)
  21. {
  22. StringBuilder sb = new StringBuilder();
  23. sb.Append("Beverage order:<br/>");
  24. foreach (GridViewRow row in GridView1.Rows)
  25. {
  26. if (row.RowType == DataControlRowType.DataRow)
  27. {
  28. Label quantityLabel = (Label)row.FindControl("QuantityLabel");
  29. int currentQuantity = Int32.Parse(quantityLabel.Text);
  30. sb.Append(row.Cells[0].Text + " : " + currentQuantity + "<br/>");
  31. }
  32. }
  33. SummaryLabel.Text = sb.ToString();
  34. }
  35. </script>
  36. <html xmlns="http://www.w3.org/1999/xhtml">
  37. <head id="Head1" runat="server">
  38. <title>UpdatePanel Inside GridView Template Example </title>
  39. </head>
  40. <body>
  41. <form id="form1" runat="server">
  42. <div>
  43. <asp:ScriptManager ID="ScriptManager1"
  44. runat="server" />
  45. <asp:GridView ID="GridView1"
  46. AutoGenerateColumns="False"
  47. DataSourceID="SqlDataSource1"
  48. runat="server">
  49. <Columns>
  50. <asp:BoundField DataField="ProductName"
  51. HeaderText="ProductName" />
  52. <asp:BoundField DataField="UnitPrice"
  53. HeaderText="UnitPrice" />
  54. <asp:TemplateField HeaderText="Quantity">
  55. <ItemTemplate>
  56. <asp:UpdatePanel ID="QuantityUpdatePanel"
  57. UpdateMode="Conditional"
  58. runat="server" >
  59. <ContentTemplate>
  60. <asp:Label ID="QuantityLabel"
  61. Text="0"
  62. runat="server" />
  63. <asp:Button ID="DecreaseQuantity"
  64. Text="-"
  65. OnClick="OnDecreaseQuantity"
  66. runat="server" />
  67. <asp:Button ID="IncreaseQuantity"
  68. Text="+"
  69. OnClick="OnIncreaseQuantity"
  70. runat="server" />
  71. </ContentTemplate>
  72. </asp:UpdatePanel>
  73. </ItemTemplate>
  74. </asp:TemplateField>
  75. </Columns>
  76. </asp:GridView>
  77. <asp:UpdatePanel ID="SummaryUpdatePanel"
  78. UpdateMode="Conditional"
  79. runat="server">
  80. <ContentTemplate>
  81. <asp:Button ID="Button1"
  82. OnClick="Button1_Click"
  83. Text="Get Summary"
  84. runat="server" />
  85. <br />
  86. <asp:Label ID="SummaryLabel"
  87. runat="server">
  88. </asp:Label>
  89. </ContentTemplate>
  90. </asp:UpdatePanel>
  91. <asp:SqlDataSource ID="SqlDataSource1"
  92. ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
  93. SelectCommand="SELECT [ProductName], [UnitPrice] FROM
  94. [Alphabetical list of products] WHERE ([CategoryName]
  95. LIKE '%' + @CategoryName + '%')"
  96. runat="server">
  97. <SelectParameters>
  98. <asp:Parameter DefaultValue="Beverages"
  99. Name="CategoryName"
  100. Type="String" />
  101. </SelectParameters>
  102. </asp:SqlDataSource>
  103. </div>
  104. </form>
  105. </body>
  106. </html>