[英]How can I use vb variable in javascript using asp.net web forms?
So, this is how my program looks like所以,这就是我的程序的样子
The VB coding behind this is这背后的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
Now, the html and javascript code is...现在,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>
I want it to represent the value of the students score, I added我想让它代表学生分数的价值,我补充说
var score = document.getElementById("<%=Label2.ClientID%>").innerHTML;
But my graph immediately disappeared like this但是我的图马上就这样消失了
help :) (The student names are different in pictures that is fine, thats all database stuff) help :)(图片中的学生姓名不同,这很好,这都是数据库的东西)
var score = document.getElementById("Label2").innerText;
Edit:编辑:
ASP.NET 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 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>
You need to create public property named Score
, or change that score from Dim
to Public
, declare outside page_load and inside the class.您需要创建名为Score
公共属性,或者将该分数从Dim
更改为Public
,在 page_load 外部和类内部声明。
Then use that variable in aspx like this - var score = "<%=Score%>";
然后像这样在 aspx 中使用该变量 - var score = "<%=Score%>";
. .
Like following喜欢以下
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;
This code does work.这段代码确实有效。 You have to call it after the values have already been set.您必须在已设置值后调用它。 Have you tried moving your javascript to the bottom of the page?您是否尝试过将 javascript 移动到页面底部?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.