在我的asp.net webform应用程序中,我想从我的代码后台向.aspx页面发送一个变量,以便在js代码中使用。
代码隐藏:
public string GetSomestring()
{
JavaScriptSerializer j = new JavaScriptSerializer();
return j.Serialize("#000");
}在我的js页面中,我有这样的代码
<script>
var randomScalingFactor = function () { return Math.round(Math.random() * 100) };
var color= '<%= GetSomestring()%>';
var lineChartData = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [
{
label: "My First dataset",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(220,220,220,1)",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: color,
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: [12,23,12,43,10,3]
}
]
}
window.onload = function () {
var ctx = document.getElementById("canvas").getContext("2d");
window.myLine = new Chart(ctx).Line(lineChartData, {
responsive: true
});
}
</script>返回到我的.aspx页面的字符串,因为当我编写下面的代码时,它可以正确执行
var color = '<%= GetSomestring()%>';
alert(color);当我写下这段代码时,我的js就能正确执行。
var color = "#000";我不知道我的第一个代码没有正确执行和pointStrokeColor没有得到“颜色”的问题是什么
发布于 2015-12-14 21:14:40
要在javascript中从服务器获取值,您应该使用Ajax,在代码后台中使用webmethod。下面是一些示例代码,希望能对您有所帮助。
背后的代码:
[WebMethod]
public string GetSomestring()
{
JavaScriptSerializer j = new JavaScriptSerializer();
return j.Serialize("#000");
}视图:“客户端”
var result;
$.ajax({
url: ../PageName/GetSomestring",
type: "get",
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (data, status) {
result = data.d;
},
error: function (requeset, status, error) {
alert(error);
}
});
var color= result ;或者试试这个:将颜色转换为color.value
<script>
var randomScalingFactor = function () { return Math.round(Math.random() * 100) };
var color= '<%= GetSomestring()%>';
var lineChartData = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [
{
label: "My First dataset",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(220,220,220,1)",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: color.value,
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: [12,23,12,43,10,3]
}
]
}
window.onload = function () {
var ctx = document.getElementById("canvas").getContext("2d");
window.myLine = new Chart(ctx).Line(lineChartData, {
responsive: true
});
}
将颜色转换为color.value
pointStrokeColor: color.value,希望这能帮助you.Thanks
https://stackoverflow.com/questions/34264609
复制相似问题