如何使用 asp.net 网络表单在 javascript 中使用 vb 变量?

How can I use vb variable in javascript using asp.net web forms?

所以,这就是我的程序的样子

这背后的VB编码是

Imports WebApplication1.login
Public Class Main
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim CleanRubric
    Dim XRubric
    Dim YRubric
    Dim Score = WebApplication1.login.Score
    CleanRubric = Rubric.Split(":")
    XRubric = Rubric(0)
    YRubric = Rubric(2)
    Label1.Text = "Hello! , Welcome: " & FullName & ", Here is your Report"
    Label2.Text = "Your Score: " & Score
    Label3.Text = "Notes: " & Notes
    Label4.Text = "Domain Notes: " & D_Notes
    Label5.Text = "X Rubric score is: " & XRubric
    Label6.Text = "Y Rubric score is: " & YRubric
    Label7.Text = "Does the teacher need to see you? " & UrgentChecker(Urgent)

End Sub
Function UrgentChecker(ByVal Urgent As Integer)
    If Urgent = 1 Then
        Return "Yes"
    ElseIf Urgent = 0 Then
        Return "No"
    Else
        Return "---Error--- : Please See Teacher"
    End If
End Function
End Class

现在,html 和 javascript 代码是...

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Main.aspx.vb" Inherits="WebApplication1.Main" runat="server"%>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Results</title>
<link rel="stylesheet" type="text/css" href="theme2.css" />
<script type="text/javascript" src="http://cdn.amcharts.com/lib/3/amcharts.js"></script>
<script type="text/javascript" src="http://cdn.amcharts.com/lib/3/gauge.js"></script>
<script type="text/javascript" src="http://cdn.amcharts.com/lib/3/themes/dark.js"></script>

<!-- amCharts javascript code -->
<script type="text/javascript">
    <!--var score = document.getElementById("<%=Label2.ClientID%>").innerHTML;-->
    AmCharts.makeChart("chartdiv",
        {
            "type": "gauge",
            "pathToImages": "amcharts/images/",
            "faceBorderAlpha": 2,
            "faceBorderWidth": 2,
            "marginBottom": 0,
            "marginTop": 40,
            "startDuration": 0,
            "color": "#E7E7E7",
            "fontSize": 9,
            "handDrawScatter": 0,
            "theme": "dark",
            "arrows": [
                {
                    "axis": "Not set",
                    "id": "GaugeArrow-1",
                    "nailAlpha": 0.44,
                    "nailBorderAlpha": 0.58,
                    "nailBorderThickness": 5,
                    "nailRadius": 30,
                    "radius": "98%",
                    "startWidth": 12,
                    "value": 2
                }
            ],
            "axes": [
                {
                    "axisThickness": 1,
                    "bottomText": "Score",
                    "bottomTextFontSize": 18,
                    "bottomTextYOffset": 25,
                    "endAngle": 112,
                    "endValue": 4,
                    "id": "GaugeAxis-1",
                    "topTextFontSize": -1,
                    "topTextYOffset": -4,
                    "valueInterval": 1,
                    "bands": [
                        {
                            "alpha": 0.7,
                            "color": "#00CC00",
                            "endValue": 1,
                            "id": "GaugeBand-1",
                            "startValue": 0
                        },
                        {
                            "alpha": 0.7,
                            "color": "#FF0000",
                            "endValue": 2,
                            "id": "GaugeBand-2",
                            "startValue": 1
                        },
                        {
                            "alpha": 0.7,
                            "color": "#0000FF",
                            "endValue": 3,
                            "id": "GaugeBand-3",
                            "startValue": 2
                        },
                        {
                            "alpha": 0.7,
                            "color": "#DAA520",
                            "endValue": 4,
                            "id": "GaugeBand-4",
                            "startValue": 3
                        }
                    ]
                }
            ],
            "allLabels": [],
            "balloon": {
                "offsetX": 12
            },
            "titles": []
        }
    );
</script>
</head>
<body>
<form id="form1" runat="server">
    <h1>
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </h1>

我要它代表学生分数的数值,我加了

var score = document.getElementById("<%=Label2.ClientID%>").innerHTML; 但是我的图立马就这样消失了

帮助:) (图片中的学生姓名不同没关系,那是所有数据库的东西)

var score = document.getElementById("Label2").innerText;

编辑:

ASP.NET

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    Page.ClientScript.RegisterStartupScript(Me.GetType(), Nothing, "test();", True)
End Sub

JavaScript

  <script type="text/javascript">
    var score;
    function test() {
        score = document.getElementById("Label2").innerText;
        AmCharts.makeChart("chartdiv",
    {
        "type": "gauge",
        "pathToImages": "amcharts/images/",
        "faceBorderAlpha": 2,
        "faceBorderWidth": 2,
        "marginBottom": 0,
        "marginTop": 40,
        "startDuration": 0,
        "color": "#E7E7E7",
        "fontSize": 9,
        "handDrawScatter": 0,
        "theme": "dark",
        "arrows": [
            {
                "axis": "Not set",
                "id": "GaugeArrow-1",
                "nailAlpha": 0.44,
                "nailBorderAlpha": 0.58,
                "nailBorderThickness": 5,
                "nailRadius": 30,
                "radius": "98%",
                "startWidth": 12,
                "value": 2
            }
        ],
        "axes": [
            {
                "axisThickness": 1,
                "bottomText": "Score",
                "bottomTextFontSize": 18,
                "bottomTextYOffset": 25,
                "endAngle": 112,
                "endValue": 4,
                "id": "GaugeAxis-1",
                "topTextFontSize": -1,
                "topTextYOffset": -4,
                "valueInterval": 1,
                "bands": [
                    {
                        "alpha": 0.7,
                        "color": "#00CC00",
                        "endValue": 1,
                        "id": "GaugeBand-1",
                        "startValue": 0
                    },
                    {
                        "alpha": 0.7,
                        "color": "#FF0000",
                        "endValue": 2,
                        "id": "GaugeBand-2",
                        "startValue": 1
                    },
                    {
                        "alpha": 0.7,
                        "color": "#0000FF",
                        "endValue": 3,
                        "id": "GaugeBand-3",
                        "startValue": 2
                    },
                    {
                        "alpha": 0.7,
                        "color": "#DAA520",
                        "endValue": 4,
                        "id": "GaugeBand-4",
                        "startValue": 3
                    }
                ]
            }
        ],
        "allLabels": [],
        "balloon": {
            "offsetX": 12
        },
        "titles": []
    }
);
    }
</script>

您需要创建 public 属性 命名为 Score,或者将该分数从 Dim 更改为 Public,在 page_load 外声明并在 class 内。

然后像这样在 aspx 中使用该变量 - var score = "<%=Score%>";

喜欢关注

Public Class Main
Inherits System.Web.UI.Page

Public Score = WebApplication1.login.Score

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

    CleanRubric = Rubric.Split(":")
var score = document.getElementById("<%=Label2.ClientID%>").innerHTML;

此代码确实有效。您必须在设置值后调用它。您是否尝试过将 javascript 移动到页面底部?