基本上我希望我的标签 priceLabel 在用户在下拉列表中更改其选择时自动更新 sizeDropdown
例如,他们从sizeDropdown中选择一个大小,然后更改十进制数量,然后将此十进制转换为字符串并将其放入priceLabel。如果用户在sizeDropdown上更改了选择,则会自动重新更新priceLabel。
这是我目前所拥有的,但它不起作用:
在HTML
中<asp:DropDownList ID="sizeDropdown" runat="server" OnSelectedIndexChanged="sizeDropdown_SelectedIndexChanged"></asp:DropDownList>
然后在aspx.cs
中在一种方法中添加值:
sizeDropdown.Items.Add("50g");
sizeDropdown.Items.Add("100g");
另一个我尝试分配价格:
protected void sizeDropdown_SelectedIndexChanged(object sender, EventArgs e)
{
double amount = 0;
if (sizeDropdown.SelectedItem.Equals("50g"))
{
amount = 4.99;
}
else if (sizeDropdown.SelectedItem.Equals("100g"))
{
amount = 7.99;
}
priceLabel.Text = amount.ToString();
}
由于
编辑:请大家帮忙!我将离开这个ehre,如果任何人对ow感兴趣我修复它只是将所选值转换为字符串然后使用保存了很多hastle的字符串。干杯!
答案 0 :(得分:1)
在sizeDropdown标签
中使用此功能 AutoPostBack="True"
在所有情况下SelectedItem.Text
if (sizeDropdown.SelectedItem.Text.Equals("50g"))
{
amount = 4.99;
}
如果您在page_load事件中添加项目,否则不需要
if(!Page.IsPostBack)
{
sizeDropdown.Items.Add("50g");
sizeDropdown.Items.Add("100g");
}
答案 1 :(得分:1)
你需要做两件事
AutoPostBack="True"
以执行回发,默认情况下为false。!Page.IsPostBack
中绑定代码,以便您的下拉列表不再绑定并松开所选选项。 HTML
<asp:DropDownList ID="sizeDropdown" runat="server" AutoPostBack="True" OnSelectedIndexChanged="sizeDropdown_SelectedIndexChanged"></asp:DropDownList>
代码背后
if( !Page.IsPostBack)
{
sizeDropdown.Items.Add("50g");
sizeDropdown.Items.Add("100g");
}
答案 2 :(得分:0)
<asp:DropDownList ID="sizeDropdown" AutoPostBack="True" runat="server" OnSelectedIndexChanged="sizeDropdown_SelectedIndexChanged">
在代码背后.....
protected void sizeDropdown_SelectedIndexChanged(object sender, EventArgs e)
{
double amount = 0;
if (sizeDropdown.SelectedItem.Equals("50g"))
{
amount = 4.99;
}
else if (sizeDropdown.SelectedItem.Equals("100g"))
{
amount = 7.99;
}
else if (sizeDropdown.SelectedItem.Equals("150g"))
{
amount = 9.99;
}
priceLabel.Text = amount.ToString();
}
希望这对你有用。
答案 3 :(得分:0)
Aspx代码:
<asp:DropDownList ID="sizeDropdown" runat="server" AutoPostBack="True"
onselectedindexchanged="sizeDropdown_SelectedIndexChanged">
<asp:ListItem>Select</asp:ListItem>
<asp:ListItem Value="4.99">50gms</asp:ListItem>
<asp:ListItem Value="7.99">100g</asp:ListItem>
</asp:DropDownList>
<asp:Label ID="priceLabel" runat="server" Text="Label"></asp:Label>
.Cs代码
protected void sizeDropdown_SelectedIndexChanged(object sender, EventArgs e)
{
if (sizeDropdown.SelectedItem.Text != "Select")
{
priceLabel.Text = sizeDropdown.SelectedItem.Value;
}
else
{
priceLabel.Text = "";
}
}
答案 4 :(得分:0)
快速解决方案
请使用以下代码替换您的代码。
aspx页面:
<asp:DropDownList ID="sizeDropdown" runat="server" OnSelectedIndexChanged="sizeDropdown_SelectedIndexChanged" AutoPostBack="True"></asp:DropDownList>
代码页:
if(!Page.IsPostBack)
{
sizeDropdown.Items.Add("50g");
sizeDropdown.Items.Add("100g");
}