2015-04-05 3 views
0

Таким образом, это как моя программа выглядитКак использовать переменную aspx.net.vb в javascript?

enter image description here

В.Б. Кодирование за это

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; Но мой график сразу же исчез, как этот

enter image description here

помощь :) (Имена студентов различны в картинках, что это хорошо, вот и все базы данных вещи)

ответ

0

Вам нужно создать общественное свойство с именем Score, или изменений, которые забьют от Dim до Public, объявить вне Page_Load и внутри класса.

Затем используйте эту переменную в 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(":") 
+0

Ошибка: публикация недействительна при объявлении локальной переменной –

+0

@RedderLopez, пожалуйста, прочитайте инструкцию - 'declare outside page_load и внутри класса. '. См. Обновленный ответ. –

+0

График исчезает http://gyazo.com/2b3fcfc205aca2f3e022edd064802865 –

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

Edit:

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> 
+0

Не работает, как только я добавил, что линия http://gyazo.com/81901528b58512b4ac08a05a6d487f73 Graph исчез –

+0

Хорошо, сделать функцию, содержащую вызов AmCharts.makeChart, и вызовите функцию от события загрузки страницы –

+0

Что значит? , Можете ли вы привести пример, пожалуйста, новый для всего этого. –

0
var score = document.getElementById("<%=Label2.ClientID%>").innerHTML; 

Этот код работает. Вы должны вызвать его после того, как значения уже установлены. Вы пробовали переместить свой javascript в нижнюю часть страницы?

+0

Передача моего кода на дно не работает, я просто получаю значение 0 http://gyazo.com/eadcb816a2bc8fa664e04637bf0c8387 –

Смежные вопросы