-1
我是ASP.NET新手。我有一個情況如下圖所示:在Gridview中計算總價格
<asp:GridView AutoGenerateColumns="false" ID="GridView1" runat="server">
<Columns>
<asp:BoundField DataField="BookID" HeaderText="Book ID" />
<asp:BoundField DataField="BookName" HeaderText="Book Name" />
<asp:BoundField DataField="Author" HeaderText="Author" />
<asp:BoundField DataField="Price" HeaderText="Price" />
<asp:TemplateField HeaderText="Testing Field">
<ItemTemplate>
<asp:HiddenField ID="HiddenPrice" Value='<%#Eval("Price") %>' runat="server" />
<asp:DropDownList AutoPostBack="true" OnSelectedIndexChanged="ddlQuantity_SelectedIndexChanged" ID="ddlQuantity" runat="server">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
<asp:ListItem>8</asp:ListItem>
<asp:ListItem>9</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="Total" Enabled="false" Text="asdfsdf" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
正如你可以看到我有一個gridview裏面一個下拉列表。每次我在列表中選擇一個不同的號碼時,它都會計算價格,並將其添加到文本框(價格*號碼)Total
。
所以我的問題是如何計算所有Total
文本框的總價格並將結果輸出到girdview之外的標籤?
這裏是隱藏文件我的代碼:
private static OBMDbContext context = new OBMDbContext();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.DataSource = context.Books.ToList();
GridView1.DataBind();
}
}
protected void ddlQuantity_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddl = (DropDownList)sender;
int quantity = Convert.ToInt16(ddl.SelectedItem.Value);
TextBox tb = (TextBox)ddl.FindControl("Total");
HiddenField hf = (HiddenField)ddl.FindControl("HiddenPrice");
tb.Text = (quantity * Convert.ToInt16(hf.Value)).ToString();
}
感謝提前:)
請參考微軟教程:HTTPS ://msdn.microsoft.com/en-us/library/bb310552.aspx –
哇,非常感謝@AlexBell,你是最棒的:) –
不客氣!祝你的項目好運。最好的問候, –