【问题标题】:How can I use vb variable in javascript using asp.net web forms?如何使用 asp.net Web 表单在 javascript 中使用 vb 变量?
【发布时间】:2015-06-10 01:18:11
【问题描述】:

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

这背后的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("&lt;%=Label2.ClientID%&gt;").innerHTML; 但是我的图马上就这样消失了

帮助 :) (图片里学生名字不一样没关系,都是数据库的东西)

【问题讨论】:

    标签: javascript c# asp.net vb.net webforms


    【解决方案1】:
    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>
    

    【讨论】:

    • 没用,我一添加那行gyazo.com/81901528b58512b4ac08a05a6d487f73 Graph就消失了
    • 好的,创建一个包含 AmCharts.makeChart 调用的函数,并从 Page Load 事件中调用该函数
    • 什么意思? ,你能给我举个例子吗,我对这一切都很陌生。
    • 图形又消失了
    • 图表何时消失?你什么时候做什么?
    【解决方案2】:

    您需要创建名为Score 的公共属性,或者将该分数从Dim 更改为Public,在page_load 外部和类内部声明。

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

    点赞

    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(":")
    

    【讨论】:

    • 错误:Public 在局部变量声明中无效
    • @RedderLopez,请阅读说明 - declare outside page_load and inside the class.。查看更新的答案..
    • @RedderLopez,很明显,您没有在调试或寻找正确的东西来修复,而不是查看图表,看看是否设置了该值!
    • @RedderLopez,在 aspx 中无法访问 Dim 变量,这就是为什么我告诉声明为 Public 并且 public 必须在任何事件之外。
    【解决方案3】:
    var score = document.getElementById("<%=Label2.ClientID%>").innerHTML;
    

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    相关资源
    最近更新 更多