如何在google可视化引用c#函数中包含javascript变量
试图在被调用的c#函数中包含javascript变量“selectedValue”时出错。SelectedValue在GetTotalLicensesCount中有红色下划线错误如何在google可视化引用c#函数中包含javascript变量,javascript,c#,google-visualization,Javascript,C#,Google Visualization,试图在被调用的c#函数中包含javascript变量“selectedValue”时出错。SelectedValue在GetTotalLicensesCount中有红色下划线错误 function drawExpireGauge() { var selectedValue = "30days"; var data = google.visualization.arrayToDataTable([ ['Label', 'Value'],
function drawExpireGauge() {
var selectedValue = "30days";
var data = google.visualization.arrayToDataTable([
['Label', 'Value'],
['Expiring', <%=GetTotalLicensesCount(null, null, null, selectedValue, selectedValue, null, null)%>],
['New', <%=GetTotalLicensesCount(null, null, null, null, null, null, selectedValue)%>],
['Not Used', 0]
]);
}
函数drawerpiregauge(){
var selectedValue=“30天”;
var data=google.visualization.arrayToDataTable([
['Label','Value'],
[‘到期’,],
[‘新’,],
[“未使用”,0]
]);
}
如果将“30days”简单地放在GetTotalLicensesCount函数中,而不是放在变量中,则它可以工作
我做了尽职调查,在论坛上搜索了一个类似的问题,但没有找到任何问题,请告诉我该如何更改该问题,或者是否有合理的副本来回答该问题 C#代码不会作为js执行的一部分执行
注入的C#代码是模板的一部分,该模板将生成最终在客户端执行的js代码。因此,C代码将无法访问“selectedValue”
因此,在服务器上运行的C#代码有助于生成发送回客户端的HTTP响应。JS代码,在客户端获得响应后在其上运行
您有两个选择,Ajax返回到服务器以获取数据,或者将所有数据提供给js,这样您就可以编写js版本的GetTotalLicensesCount
选择哪种方法取决于:-
1) 有多少数据(小的,用js做,大的,ajax)
2) 如果计算所需的任何数据是敏感的,并且您不希望用户看到它。(始终使用ajax以避免暴露敏感数据)var selectedValue=“30天”代码>是作为javascript(在用户浏览器中)而不是Razor(在发送给用户之前在服务器上)执行的。将其包装在@{
和}
中,以便在服务器上对其进行评估。但是,如果要从页面的输入中获取30天
(例如,用户单击/键入的内容),则需要向服务器发送请求,以正确评估Keith提到的内容