1

我是aspx的新手,所以有人可以帮助我使用以下一小段代码。我正在尝试使用 Vb 在 aspx.net 中创建一个 If 语句,但我无法让它正常工作。

我想问一个问题,用户必须选择一个是复选框或否复选框,根据答案,一个标签会显示“不允许”,或者一个按钮会出现链接到主表单。

当用户选择选项时,我无法显示按钮或标签。

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    Main_FormBtn.Visible = False
    Refer_Label.Visible = False


    If CheckBoxNo.Checked = True Then

        Refer_Label.Visible = True

    ElseIf CheckBoxYes.Checked = True Then

        Main_FormBtn.Visible = True


    End If


End Sub

任何帮助将不胜感激

谢谢

4

3 回答 3

0

既然这是在页面加载时,你为什么还需要这个 IF 语句呢?我认为您实际上希望在复选框的 Click 事件中使用此语句,而不是在页面加载时。此代码只会在加载时运行,而不是在点击时运行。

双击您的 ASP 按钮并将此代码放入那里的事件处理程序中。将两个复选框单击事件都指向相同的方法,如下所示;

页面加载 - 您只想在第一次加载时将这些设置为 false。

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

   If Not Page.IsPostBack Then

     Main_FormBtn.Visible = False
     Refer_Label.Visible = False

   End If

End Sub 

点击事件

Private Sub Checkbox_Click(sender As System.Object, e As System.EventArgs) Handles CheckBoxNo.Click, CheckBoxYes.Click

  Main_FormBtn.Visible = False
  Refer_Label.Visible = False


  If CheckBoxNo.Checked = True Then

    Refer_Label.Visible = True

  ElseIf CheckBoxYes.Checked = True Then

    Main_FormBtn.Visible = True

  End If

End Sub

为此,它需要回发。除非你喜欢进入 Javascript 领域。

于 2013-02-21T11:35:54.840 回答
0

如果这意味着用户通过并回答一些问题并相应地出现子选项的形式,那么您需要考虑许多问题。如果您希望框/标签在用户单击某些内容时显示隐藏,除非您进行回发,否则您可能需要使用 javascript/jquery,在这种情况下,您可能需要考虑用户可能已经选择了许多选项/填充取出表格的一部分。

如果您想共享页面的整体结构,则更容易提供适当的建议。

于 2013-02-21T11:39:26.563 回答
0

如果YES OR NO Category Better you use RadioButton不是复选框..

像下面这样尝试它会帮助你...

YESRadio_CheckedChanged 事件

Main_FormBtn.Visible = True
Refer_Label.Visible = False

NORadio_CheckedChanged 事件

Refer_Label.Visible = True
Main_FormBtn.Visible = False

PAGE_LOAD 事件

Main_FormBtn.Visible = False
Refer_Label.Visible = False

在此之前AutoPostBack="true"为 RadioButtons设置

于 2013-02-21T11:45:42.380 回答