【问题标题】:C# RadioButton Checked anomalousC# RadioButton 检查异常
【发布时间】:2018-08-20 15:40:41
【问题描述】:

我有一个包含此代码的 aspx 页面。

<asp:RadioButton id="rb_Vero" ClientIDMode="Static" GroupName="RegularMenu" Text="" runat="server" Checked="true"/>        
<asp:RadioButton id="rb_Falso" ClientIDMode="Static" GroupName="RegularMenu" Text="" runat="server"/> 

在cs页面上,这是在后面。

if (verificata == true) 
   rb_Vero.Checked = true;
else 
    rb_Falso.Checked = true;

当“verificata”变量改变(真/假)时,单选按钮并不总是改变。

【问题讨论】:

  • 他在哪里使用 JavaScript?
  • 我的错误。我以为那是客户端
  • page_load 上有这段代码吗?

标签: c# asp.net webforms radio-button


【解决方案1】:

首先,如果您希望复选框在服务器上启动事件,您需要属性AutoPostback = "true"

现在取决于verificata 的设置方式,您不需要取消选中另一个复选框:

// you need to choose an appropriate event for the block below
if (verificata) 
{
   rb_Vero.Checked = true;
   // add this
   rb_Falso.Checked = false;
}
else 
{
   rb_Falso.Checked = true;
   // add this    
   rb_Vero.Checked = false;
}

【讨论】:

    【解决方案2】:

    首先,我假设您将 rb_Vero 硬编码为 true 以便在 ASPX 中进行测试?删除该属性。您将在 Page_Load 上执行逻辑。

    其次,正如@Ted 所说,确保两个控件的AutoPostback 都设置为true。

    protected void Page_Load(object sender, EventArgs e)
    {
        // Sample only - update to load from ViewState on Postbacks
        if (verificata == "true") 
        {
            rb_Vero.Checked = true;
            rb_Falso.Checked = false;
        }
        else 
        {
            rb_Vero.Checked = false; 
            rb_Falso.Checked = true;
        }
    }
    

    最后,列表控件存在一个已知问题。除非您重写 SaveViewState 和 LoadViewState 方法来存储和检索这些值,否则它将不起作用。

    protected override void LoadViewState(object savedState)
    {
        base.LoadViewState(savedState);
    
        // Sample snippet - update for your controls
        if (ViewState["Checked"] != null)
            checked = (bool)ViewState["Checked"];
    }
    
    protected override object SaveViewState()
    {
        // Sample snippet - update for your controls
        ViewState["Checked"] = checked;
    
        return base.SaveViewState();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-17
      • 2012-02-03
      • 1970-01-01
      相关资源
      最近更新 更多