【问题标题】:How to make Dropdownlist readonly in C#如何在 C# 中使下拉列表只读
【发布时间】:2013-07-02 03:07:04
【问题描述】:

我正在使用

TextBox.ReadOnly = false;

只读。

如何在 DropDownList 上修复它?

我使用 Enabled = false 属性,例如...

TextBox.Enabled = false;
DropDownList.Enabled = false;

但是,在那之后,css 类不会在运行时调用这两个控件。

请给我任何属性,例如“ReadOnly”。

【问题讨论】:

  • 只读下拉列表也可以是标签。如果你不能改变这个值,那有什么意义呢。
  • 其实我想这样做...如果我选中该复选框,之后我将无法更改任何文本框和下拉列表的任何值。
  • 文本框是可编辑的,所以我们使用 readonly 如果 nt wnt 来编辑,但下拉菜单在运行时填充,不可编辑,所以没有它的只读属性
  • @Satindersingh:是的,先生,我同意,所以请给我其他选择。
  • Enabled="False" 在这种情况下或复选框 checkt set visible =false 用于下拉并放置标签后将起作用

标签: c# asp.net .net webforms


【解决方案1】:

DropDownList 在 asp.net 中没有只读属性

尝试使用:

  <asp:DropDownList ID="DropDownList1" runat="server" Enabled="False">
    </asp:DropDownList>

或者在运行时改变它:

DropDownList1.Enabled=false;

并更改它的 css 类。

DropDownList1.CssClass = "class";

【讨论】:

  • 谢谢,它的工作一次又一次地谢谢你,你节省了我的时间任何我的表单设计。 :)
  • 值得注意的是,disabled 下拉列表在 post_back 上没有考虑其数据。只读控件确实会发生一些事情。
【解决方案2】:

另一种方式:

后面的代码:只需添加属性disabled

 DropDownList1.Attributes.Add("disabled", "disabled");

客户端:

 $("#DropDownList1").attr("disabled","disabled");

JS FIDDLE

【讨论】:

  • 我试过了,当我尝试从代码隐藏中检索它时,它为我提供了下拉列表的默认值。
【解决方案3】:

使用与 Enabled="false" 一样的面板并将您的控件放入其中:

<asp:Panel ID="pnlname" runat="server" Enabled="false">
    <asp:DropDownList ID="DropDownList1" runat="server">
    </asp:DropDownList>
</asp:Panel>

【讨论】:

    【解决方案4】:

    由于禁用的下拉列表数据无法在回发中读取。所以作为一种解决方法不要禁用它,而是先清除下拉列表,然后只绑定已经选择的项目。

    ListItem item = DropDownList.SelectedItem;
    DropDownList.Items.Clear();
    DropDownList.Items.Add(item);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-25
      • 2017-03-24
      • 1970-01-01
      • 2021-02-11
      • 1970-01-01
      • 1970-01-01
      • 2021-03-12
      相关资源
      最近更新 更多