我是C#asp.net的新手,我无法获取所选项目。这是背后的代码:
List<string> figuritasSelecionadas = new List<string>();
this.lblMensaje.Visible = false;
decimal total = 0;
foreach (ListItem lf in this.ListaFiguritas.Items)
{
if (lf.Selected)
{
figuritasSelecionadas.Add(lf.Text);
total += Decimal.Parse(lf.Value);
}
}
这里的问题是选择哪个项目并不重要,因为当它到达时,第一个项目被标记为true。我不知道为什么会这样做。
以下是我加载ListBox的方法:
private void cargarFiguritas()
{
List<Figurita> figuritas = Sistema.Instancia.figuritasQueFaltan(usuarioActivo);
this.ListaFiguritas.DataSource = figuritas;
this.ListaFiguritas.DataValueField = "Precio";
this.ListaFiguritas.DataTextField = "NumeroFigurita";
this.ListaFiguritas.DataBind();
Session["ListaFiguritas"] = figuritas;
}
protected void Page_Load(object sender, EventArgs e)
{
usuarioActivo = (string)Session["nombreUsuario"];
this.lblUsuario.Text = (string)Session["nombreUsuario"] + " tiene un total de: " + Session["Monedas"].ToString() + " monedas";
if (!IsPostBack)
{
cargarFiguritas();
}
}
这是aspx代码:
<asp:ListBox ID="ListaFiguritas" runat="server" Height="180px" Width="110px" SelectionMode="Single">
</asp:ListBox>