VB.NET:输入字符串的格式不正确

时间:2015-09-01 06:10:32

标签: vb.net

任何人......你们可以帮帮我吗? 当我运行应用程序时,我收到错误消息

  

输入字符串的格式不正确。

     

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

     

异常详细信息:System.FormatException:输入字符串的格式不正确。

这是源错误:

  

第77行:dt = brKendaraan.GetList(txtKeyword.Text.ToString,Convert.ToInt32(ddlMerk.SelectedValue),Convert.ToInt32(ddlPerusahaan.SelectedValue),ddlStatus.SelectedValue.ToString)

这是我在aspx.vb中的代码

Dim dt As New DataTable
    Dim brKendaraan As New BL.KendaraanBr
    dt = brKendaraan.GetList(txtKeyword.Text.ToString, Convert.ToInt32(ddlMerk.SelectedValue), Convert.ToInt32(ddlPerusahaan.SelectedValue), ddlStatus.SelectedValue.ToString)

    If dt.Rows.Count > 0 Then
        Dim report As New ReportDocument()
        report.Load(Server.MapPath("~/Reports/Kendaraan.rpt"))
        report.SetDataSource(dt)
        CRVKendaraan.ReportSource = report
    End If

请帮帮我

3 个答案:

答案 0 :(得分:1)

我的猜测是您正在使用Convert.ToInt32()函数,因此请确保您提供的值可以转换为整数。错误:

  

输入字符串的格式不正确。

表示参数的格式不正确。打印下拉列表的SelectedValue以了解有关此问题的更多信息。也许您在数据绑定方面存在问题。

希望它有所帮助!

答案 1 :(得分:0)

在ToString

的末尾添加打开和关闭括号()
dt = brKendaraan.GetList(txtKeyword.Text.ToString(), Convert.ToInt32(ddlMerk.SelectedValue), Convert.ToInt32(ddlPerusahaan.SelectedValue), ddlStatus.SelectedValue.ToString())

答案 2 :(得分:0)

最后,我尝试将其添加到我的代码之上,并且它的工作正在进行中!

Dim sKeyword As String = Nothing
    Dim iMerkKendaraan As Nullable(Of Integer) = Nothing
    Dim iPerusahaan As Nullable(Of Integer) = Nothing
    Dim bStatus As Nullable(Of Boolean) = Nothing

    If (Not String.IsNullOrEmpty(ddlMerk.SelectedValue)) Then iMerkKendaraan = Convert.ToInt32(ddlMerk.SelectedValue)
    If (Not String.IsNullOrEmpty(ddlPerusahaan.SelectedValue)) Then iPerusahaan = Convert.ToInt32(ddlPerusahaan.SelectedValue)
    If (Not String.IsNullOrEmpty(txtKeyword.Text)) Then sKeyword = txtKeyword.Text
    If (Not String.IsNullOrEmpty(ddlStatus.SelectedValue)) Then bStatus = ddlStatus.SelectedValue

感谢您的帮助! :d