1

下午所有,

我有一个下拉列表,它从我的 SQL 数据库中提取数据并为用户提供两个选项(每周/每月)。数据库中的每一个都有一个 ID。Weekly 设置为 1,Monthly 设置为 2。此下拉列表链接到 gridview,它根据所选项目提取/显示数据。所有这一切都很好。

我遇到的这个问题是我想在我的 Page_ 加载事件中添加一些代码来填充带有所选项目的文本框。当用户访问该页面时,我还想将下拉列表默认设置为每周一次。我认为以下两位代码可以工作,但我得到消息“输入字符串的格式不正确”。

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

    'This works fine
    lblTodaysDate.Text = GetDate()


    'I thought i could complete an If Statement to get the text box to work.
    If DropDownList1.SelectedValue = 1 Then
        txtMeeting.Text = "SMC Weekly Meeting"
    Else
        txtMeeting.Text = "SMC Monthly Meeting"
    End If


End Sub

我是 .net 的新手,但已经读到我可能需要将我的 int 转换为字符串?

任何提前的帮助都会非常受欢迎。

问候贝蒂。

4

3 回答 3

2

只需尝试将所需的值括在引号中,如下所示:

If DropDownList1.SelectedValue = "1" Then
    txtMeeting.Text = "SMC Weekly Meeting"
Else
    txtMeeting.Text = "SMC Monthly Meeting"
End If
于 2012-04-12T11:58:31.337 回答
1

首先检查您的值是否为数字,如果是,则将其转换为整数,并将其与1

If IsNumeric(DropDownList1.SelectedValue) AndAlso CInt(DropDownList1.SelectedValue)=1
    txtMeeting.Text = "SMC Weekly Meeting"
Else
    txtMeeting.Text = "SMC Monthly Meeting"
End If
于 2012-04-12T11:57:43.197 回答
0

您需要检查IsPostBack否则 ddl SelectValue 将被重置

注意:我的 Vb.Net 有点生疏

IE

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

    If Me.IsPostBack Then

        'This works fine
        lblTodaysDate.Text = GetDate()

        'I thought i could complete an If Statement to get the text box to work.
        If DropDownList1.SelectedValue = "1" Then
            txtMeeting.Text = "SMC Weekly Meeting"
        Else
            txtMeeting.Text = "SMC Monthly Meeting"
        End If
    Else
        ' Put your code to populate the ddl here


    End If
End Sub
于 2012-04-12T12:04:43.317 回答