Asp.net 网络表单中的单选按钮,用于选择题

Radio Button in Asp.net Webform for multiple choice question

我正在 ASP.NET Web 表单中创建多项选择题。我从数据库中获取问题和多项选择选项。当只有两个输入(TrueFalse)时,是否有一种简单的方法来隐藏第三个选项(C)?提前致谢!

这是 aspx 代码:

<tr>
  <td class="style7">A.</td>
  <td style="text-align: left">
    <asp:RadioButton ID="RbA" runat="server" GroupName="gtog"/>
  </td>
</tr>

<tr>
  <td class="style7">B.</td>
  <td style="text-align: left">
    <asp:RadioButton ID="RbB" runat="server" GroupName="gtog" />
  </td>
</tr>

<tr>
  <td class="style7">C.</td>
  <td style="text-align: left" >
    <asp:RadioButton ID="RbC" runat="server" GroupName="gtog" />
  </td>
</tr>

是的,您可以检查数据库中的项目是否为 bool 类型 - 如果是,则隐藏第 3 个选项 (C)。

因此创建一个变量来检查数据库中的项目,如果它是布尔值则添加隐藏 RbC。

Type b = itemFromDB.GetType(); 
if(b is bool)
  RbC.hidden = true;

由于我们没有关于您后端发生的事情的信息,我将保持通用。

添加一个 id 和 runat="server 到最后的 table 行。然后您可以访问该服务器端以隐藏显示该行。

ASPX

<tr id="rowC" runat="server">
  <td class="style7">C.</td>
  <td style="text-align: left" >
    <asp:RadioButton ID="RbC" runat="server" GroupName="gtog" />
  </td>
</tr>

C#

if(answerCount == 2)
{
   rowC.visible = false;
}

附带说明一下,您真的 应该避免使用 table 进行布局。现在是 2020 年,有很多更好的方法来布局表单(或任何东西)。