Javascript缺少分号,在哪里?

时间:2014-01-27 15:09:10

标签: javascript vb.net

我正在使用带有javascript的vb.net。每当我点击第1页上的链接时,它就会加载并打开第2页。作为其中的一部分,在page_load中我有一些代码可以注册一个javascript函数,如下所示:

   Private Sub regjs()
        Dim requesttype = "xx"
        Dim url As String = "page.aspx?rtype=" & requesttype & "&claimid="

        Dim s As New StringBuilder
        s.Append("<script type=""text/javaScript"">")
        s.Append("var r = new Object();" & ControlChars.CrLf)
        s.Append("if (window.returnValue == 'undefined') { window.returnValue = ''; }" & ControlChars.CrLf)
        s.Append("function vt(param) { " & ControlChars.CrLf)
        s.Append("if (param !== null) {" & ControlChars.CrLf)
        ***s.Append("var jurl = '" & url & "'")
        s.Append("param;" & ControlChars.CrLf)***
        s.Append("var r = window.showModalDialog(jurl,'','dialogWidth:500px;dialogHeight:500px;resizable:no');" & ControlChars.CrLf)
        s.Append("}" & ControlChars.CrLf)
        s.Append("}" & ControlChars.CrLf)
        s.Append("</script>")

        If Not ClientScript.IsClientScriptBlockRegistered("js") Then
            ClientScript.RegisterClientScriptBlock(Me.GetType(), "js", s.ToString())
        End If
    End Sub

我收到一条错误消息,指出在页面尝试加载时缺少分号。 s.Append(“param;”* ControlChars.CrLf)行中出现错误,表示缺少“;”。任何人都可以指出我哪里出错了? (我正在尝试构建一个带有变量作为查询字符串值的URL。)

谢谢, ç

3 个答案:

答案 0 :(得分:1)

该代码输出以下字符串:

<script type="text/javaScript">var r = new Object();
if (window.returnValue == 'undefined') { window.returnValue = ''; }
function vt(param) { 
if (param !== null) {
var jurl = 'page.aspx?rtype=xx&claimid='param;
var r = window.showModalDialog(jurl,'','dialogWidth:500px;dialogHeight:500px;resizable:no');
}
}
</script>

如您所见,此行无效:

var jurl = 'page.aspx?rtype=xx&claimid='param;

我怀疑你打算在那里进行字符串连接。

此外,值得一提的是,您应该StringBuilder.AppendLine而不是Append使用ControlChars.CrLf

答案 1 :(得分:0)

声明变量时,需要用分号结束语句。

答案 2 :(得分:0)

s.Append("var jurl = '" & url & "'")
s.Append("param;" & ControlChars.CrLf)

构建代码

var jurl = 'page.aspx?rtype=xx&claimId='param;
                                       ^

字符串(和语句)在指定的点结束,但没有分号。

有人假设您打算将param添加到字符串的末尾,在这种情况下,您错过了+