6

我想禁用RadioButtonList中的一个 listItem取决于条件,如果querystring contain true它会同时显示 ListItem 或者它禁用第二个 listItem 即(外部)。所以用户无法访问第二个列表项

我有像这样的网址

abc.com/Account.aspx?type=true

abc.com/Account.aspx?type=false

页面上的代码 Account.aspx

  <asp:RadioButtonList ID="rdodomiantype" runat="server" RepeatDirection="Horizontal" onclick="setTextbox()">
            <asp:ListItem Selected="True" Value="0" >Default</asp:ListItem>
            <asp:ListItem Value="1" >External</asp:ListItem>
    </asp:RadioButtonList>
4

3 回答 3

7

我不想从列表中删除该项目,我想像原始海报要求的那样禁用它。因此,这是我能够使用的代码(编辑 - 转换为 C# 并根据原始帖子检查查询字符串参数:

if (!string.IsNullOrEmpty(Request.QueryString["type"]) && Request.QueryString["type"].ToUpper() == "TRUE")
            {
                foreach (ListItem item in rdoList.Items)
                {
                    if (item.Text == "External")
                    {
                        item.Enabled = false;
                        item.Attributes.Add("style", "color:#999;");
                        break;
                    }
                }
            }
于 2014-01-22T14:22:20.850 回答
3

在这里,我是如何在 HariHaran 的帮助下解决的

 protected void Page_Load(object sender, EventArgs e)
 {
   string planType=Request.QueryString["type"];
   if (planType == "False")
    {
      rdodomiantype.Items.Remove(rdodomiantype.Items.FindByValue("1"));
    }
 }
于 2012-08-29T11:29:13.800 回答
-1

是否有必要禁用一个列表项?我的建议是根据查询字符串值可以绑定下拉。即,如果查询字符串值为真,那么您将下拉列表与两个列表项值绑定;

或者,如果查询字符串值为 false,您可以仅将下拉列表与第一个列表项绑定。

于 2012-07-13T09:35:03.320 回答