【问题标题】:Display ID and Value in DropDown using ASP.NET使用 ASP.NET 在下拉菜单中显示 ID 和值
【发布时间】:2020-01-10 09:29:40
【问题描述】:

需要在下拉菜单中同时显示PackageID和PackageName,以便客户可以选择要充值的包裹。

根据当前代码,PackageName 使用 DataTextFiled 属性可见,该属性已在标记中设置。

请帮助显示PackageID和Package Name,并通过以下代码-

数据库-

   CREATE TABLE [dbo].[PackageMaster](
        [PackageID] [int] IDENTITY(1,1) NOT NULL,
        [PackageName] [varchar](50) NULL
    ) ON

 [PRIMARY]

Create Proc UspGetPackage
As
Begin
Select PackageID,PackageName from PackageMaster
End

----------------------------------------------- ---设计-------------------

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PackageRequest.aspx.cs" Inherits="PackageRequest" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table>
            <tr>
                <td><b>Select Package:</b></td>&nbsp
                <td>
                    <asp:DropDownList ID="DDLPackage" runat="server" DataTextField="PackageName" DataValueField="PackageID"></asp:DropDownList>
                </td>
            </tr>
            <tr>
                 <td><b>Select Sequence:</b></td>&nbsp
                <td>
                    <asp:DropDownList ID="DDLPakcageSequence" runat="server" DataTextField="SequenceValue" DataValueField="SequenceID"></asp:DropDownList>
                </td>
            </tr>
            <tr>
                <td><asp:Button ID="btnSubmit" Text="Submit" runat="server" OnClick="btnSubmit_Click" /></td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>

----------CodeBehind---------------

private DataSet GetData(string SPName, SqlParameter SPParameter)
{
    string CS = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
    SqlConnection con = new SqlConnection(CS);
    SqlDataAdapter da = new SqlDataAdapter(SPName, con);
    da.SelectCommand.CommandType = CommandType.StoredProcedure;
    if (SPParameter != null)
    {
        da.SelectCommand.Parameters.Add(SPParameter);
    }

    DataSet DS = new DataSet();
    da.Fill(DS);
    return DS;

}



protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DDLPackage.DataSource = GetData("UspGetPackage",null);
            DDLPackage.DataBind();

            ListItem lstPkg = new ListItem("--Select Package--","-1");
            DDLPackage.Items.Insert(0,lstPkg);

            //DDLPakcageSequence.DataSource = GetData("UspGetPkgSequence",null);
            //DDLPakcageSequence.DataBind();

            //ListItem pkgsequence = new ListItem("--Select Sequence--", "-1");
            //DDLPakcageSequence.Items.Insert(0, pkgsequence);
        }
    }

【问题讨论】:

    标签: c# asp.net dropdown


    【解决方案1】:

    在存储过程中连接两列。

    Select CONCAT(PackageID,' ', PackageName ) AS PackageID_PackageName, PackageID,PackageName from PackageMaster
    

    在 .aspx 中将 DataTextField="PackageName" 更改为 DataTextField="PackageID_PackageName"

    <asp:DropDownList ID="DDLPackage" runat="server" DataTextField="PackageID_PackageName" DataValueField="PackageID"></asp:DropDownList>
    

    【讨论】:

    • 谢谢它按预期工作。此外,我想在下拉列表中实现验证,以便如果不选择任何内容,则不允许提交表单。在这个程序中,我在运行时添加了一个列表项“--Select Package--”,默认情况下以 -1 值提交。
    • 这很容易。按照这个。 asp-net-example.blogspot.com/2008/10/…。请给我的答案投票
    猜你喜欢
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 2018-06-23
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多