参数超出范围异常

时间:2015-03-13 07:40:16

标签: .net

我希望在url中为相应的id连接标题,但它会使Argument超出范围异常。

请帮助,

     Dim unqidstr As String = Request.QueryString("id").ToString()
        unqidstr = unqidstr.Substring(0, unqidstr.IndexOf("-"))
        Dim x As String = "select unqid, title, img, Ttl_desc from Schedule_Master_AYS where unqid ='" + unqidstr + "'"

        'Dim cmd As SqlCommand("",


        Dim dt As New DataTable
        dt = Dal.GettDS(x).Tables(0)
        x = ""
        For Each dr As DataRow In dt.Rows
            x += "<h2>'" + dr("title") + "' </h2>"
            x += "<p>'" + dr("Ttl_desc") + "'</p>"
            x += "<br />"
            x += "<br />"
            x += "<img src='" + dr("img").ToString().Replace("~/", "") + "' style='margin-left: 100px; width:400px;' />"
        Next
        x = x.Replace("'", """")
        divTTC.InnerHtml = x

2 个答案:

答案 0 :(得分:2)

当长度参数小于零时,

Substring会抛出ArgumentOutOfRangeException,这就是我的猜测。

你有这一行,

unqidstr = unqidstr.Substring(0, unqidstr.IndexOf("-"))

我怀疑unqidstr中没有连字符。在调用IndexOf之前,您可能希望明确检查-1是否返回大于Substring的数字。

答案 1 :(得分:0)

您必须检查查询字符串返回的值是否为空,而不是继续算法的其余部分