【问题标题】:How to avoid select from drop down list?如何避免从下拉列表中选择?
【发布时间】:2013-03-22 13:07:37
【问题描述】:

当我在运行时填充下拉列表时,我不知道如何避免选择列出的文本。

    DataRow row = ds.Tables[0].NewRow();
    row["cabTypeId"] = "0";
    row["cabType"] = "Select";
    ds.Tables[0].Rows.InsertAt(row, 0);
    ddlCabSize.DataTextField = ds.Tables[0].Columns["cabType"].ToString();
    ddlCabSize.DataValueField = ds.Tables[0].Columns["cabTypeId"].ToString();
    ddlCabSize.DataSource = ds.Tables[0];
    ddlCabSize.DataBind();

如果我选择下拉列表意味着“选择”不应该显示到下拉列表。帮我看看怎么办?

【问题讨论】:

  • 老兄......我读了你的问题 3 次......你必须做得比这更好......忘记英语但给我们更多细节......你把这段代码放在哪里?是在活动中吗?
  • 独立功能。我在页面加载事件中调用该函数。
  • 所以让我来做对:你有一个下拉列表,“选择”是第一个出现的。那么当用户选择 "Select" 时,您希望什么都不发生,但只有在选择其他选项时才发生?
  • 请理解我的要求。我有一个下拉列表,用于列出可用的出租车(汽车)。我之前以编程方式添加了“选择”,而我将数据库中的数据与下拉列表绑定。因为每当页面加载下拉应该显示“选择”。这就是我添加的“选择”。但是当我选择下拉菜单时,“选择”会出现可用的出租车。
  • 所以你有一个出租车列表,你只想在出租车列表的顶部添加第一个项目,上面写着“选择”?

标签: c# asp.net


【解决方案1】:

使用下面的代码。

ddlCabSize.DataSource = ds.Tables[0];
ddlCabSize.DataTextField = ds.Tables[0].Columns["cabType"].ToString();
ddlCabSize.DataValueField = ds.Tables[0].Columns["cabTypeId"].ToString();
ddlCabSize.DataBind();
ddlCabSize.Items.Insert(0, new ListItem("Select Below","0"));

【讨论】:

    【解决方案2】:

    不知道你在问什么。

    尝试交换你的价值观。

    ddlCabSize.DataTextField = ds.Tables[0].Columns["cabTypeId"].ToString();
    ddlCabSize.DataValueField = ds.Tables[0].Columns["cabType"].ToString();
    

    【讨论】:

    • 请理解我的要求。我有一个下拉列表,用于列出可用的出租车(汽车)。我之前以编程方式添加了“选择”,而我将数据库中的数据与下拉列表绑定。因为每当页面加载下拉应该显示“选择”。这就是我添加的“选择”。但是当我选择下拉菜单时,“选择”会出现可用的出租车
    【解决方案3】:

    如果我正确地回答了您的问题,您希望在更改选择后从下拉列表中删除带有文本“选择”或值 =“0”的项目

    您可以使用 jquery 轻松完成此操作,因为您需要知道下拉列表的 clientId,这很容易使用 ddlCabSize.ClientID 属性获得

    像这样将 jquery 引用添加到您的页面

    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    

    并复制脚本代码

    <script type="text/javascript">
     $(document).ready(function () {
         $("#<#= ddlCabSize.ClientID #>").change(function () {
             $("#<#= ddlCabSize.ClientID #> option[value='0']").remove();
         });
     });
    </script>
    

    fiddle for more info

    【讨论】:

    • 你是 100% 正确的,关于我的期望。我试过你的代码。但它不起作用。告诉我怎么做?
    • 我修复了它再次检查,您传递的值是字符串,我正在检查 int,这就是它不起作用的原因,尝试再次复制代码,现在可能会有所帮助
    • 您需要将 jquery 引用添加到您的文件中,如果您需要帮助,请告诉我
    • 是的。它仍然无法正常工作。你能告诉我如何在我的应用程序中添加参考吗?
    • 现在试试,它一定可以工作,但您可能想更改对本地主机的引用,下载 jquery 并将其添加到您的脚本文件夹并将引用链接更改为您的本地副本跨度>
    【解决方案4】:

    如果需要插入,您可以使用Add Method添加此代码

    ddlCabSize.DataBind();
    ddlCabSize.Items.Add(new ListItem("Select .."));
    

    链接:http://msdn.microsoft.com/fr-fr/library/e7s6873c.aspx

    注意:你也可以使用插入方法

    您必须在表格中添加列

    DataColumn dc = new DataColumn ("Name", Type);
    dt.Columns.Add(dc);
    

    所以:

    DataColumn dc = new DataColumn ("cabType", typeof(string));
    

    【讨论】:

    • 请理解我的要求。我有一个下拉列表,用于列出可用的出租车(汽车)。我之前以编程方式添加了“选择”,而我将数据库中的数据与下拉列表绑定。因为每当页面加载下拉应该显示“选择”。这就是我添加的“选择”。但是当我选择下拉菜单时,“选择”会出现可用的出租车。这是主要问题。
    • VetriJith,你可以添加这个代码:ddlCabSize.DataBind(); ddlCabSize.Items.Add(new ListItem("Select .."));
    猜你喜欢
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-19
    相关资源
    最近更新 更多