mysql - ASPNet 下拉列表从 0 到可用数量

标签 mysql sql asp.net

我正在为类(class)作业创建一个网络表单,本质上允许您选择从 0 到每种产品可用数量的数量。我们使用 AdventureWorks 2014 作为我们的数据源。

但是它只显示最大数量,而不是从 0 到最大数量。

我只是不知道要添加什么,以便它可以显示 0 到最大数量。谢谢。

我对背后的代码没有任何了解,这只是基本的:

public partial class _Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnOrder_Click(object sender, EventArgs e)
    {

    }

    protected void ddlQuantity_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
}

最佳答案

您可以通过处理 SelectedIndexChanged 来执行绑定(bind)事件来自ddlProductName填写ddlQuantity项目:

ASPX

<asp:DropDownList ID="ddlProductName" runat="server" AutoPostBack="True" DataSourceID="ddlProductNameitems" DataTextField="Name" DataValueField="Name"
                  OnSelectedIndexChanged="ddlProductName_SelectedIndexChanged">
</asp:DropDownList>

<asp:DropDownList ID="ddlQuantity" runat="server" AutoPostBack="True" ...></asp:DropDownList>

然后使用 List集合来存储从 0 到 SUM 查询设置的最大值的所有数字,然后绑定(bind) ListDropDownListSelectedIndexChanged上面给出的事件:

ASPX.cs(代码隐藏)

protected void ddlProductName_SelectedIndexChanged(object sender, EventArgs e)
{
    List<string> quantities = new List<string>();
    int maxQuantity = 0;

    // retrieve SUM result from SqlDataSource
    // if 'DataSourceSelectArguments.Empty' doesn't work, try other 'DataSourceSelectArguments' options
    DataView view = QuantityChoices.Select(DataSourceSelectArguments.Empty) as DataView;

    // set maximum quantity from SUM query result
    if (view != null)
    {
        maxQuantity = int.Parse(view.Table.Rows[0]["TotalInventory"].ToString());
    }
    else
    {
        // assign maxQuantity from SqlConnection here
    }

    // add every quantity amount to the list...
    for (int i = 0; i <= maxQuantity; i++)
    {
        quantities.Add(i.ToString());
    }

    // ... then sort from least value...
    quantities.Sort();

    // ... and bind the list here!
    ddlQuantity.DataSource = quantities;
    ddlQuantity.DataBind();        
}

注意:System.Data应添加命名空间以使用 DataView成分。请注意,可能需要删除 DataSourceID , DataTextField & DataValueField来自ddlQuantity绑定(bind)对应的DropDownList带有生成的数量列表。

关于mysql - ASPNet 下拉列表从 0 到可用数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47128361/

相关文章:

php - 在插入数据 (PHP) 中调用 bool 值的成员函数 bind_param()

c# - MySQL 在 C# 中以编程方式触发

php - 这个 PDO 代码对 SQL 注入(inject)足够安全吗?

java - 如何将数据插入带有外键的表中?

c# - ASP.NET WebForms 应用程序中后台线程的 .NET SqlClient 登录失败

php - 检查 PHP 中日期时间之间的间隔

php - 通过一个mysql查询更新多行

sql - 如何在 SQL Server 上强制 SELECT 阻塞?

c# - 下拉列表的问题

asp.net - ASP.NET 性能瓶颈之谜