我在后面的代码中进行了一些查询,并将值设置为隐藏字段。如何将相同的值传递给Javascript。我不想使用会话,因为它没有更新部分页面加载。
这是我使用的代码:
<script type="text/javascript">
google.load("visualization", "1", { packages: ["corechart"] });
google.setOnLoadCallback(drawChart);
//Draw a pie
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Task');
data.addColumn('number', 'Hours per Day');
data.addRows(4);
data.setValue(1, 0, 'Not Received');
data.setValue(1, 1, Value1);
data.setValue(2, 0, 'Received');
data.setValue(2, 1, Value2);
data.setValue(3, 0, 'Read');
data.setValue(3, 1, Value3);
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(data, { width: 450,backgroundColor:'#DCDCDC', height: 300, title: 'Message Status' });
// to draw a bar
var progress1 = new RGraph.VProgress('progress1', Value4, 100);
progress1.Set('chart.colors', [Value5]);
progress1.Set('chart.tickmarks', false);
progress1.Set('chart.margin', 3);
progress1.Set('chart.tickmarks.inner', false);
progress1.Set('chart.label.inner', true);
progress1.Set('chart.gutter.left', 20);
progress1.Set('chart.gutter.right', 40);
progress1.Set('chart.tickmarks', true);
progress1.Set('chart.units.post', '%');
progress1.Draw();
}
最后一行中的值应该从隐藏字段传递。请给我一些代码示例。
答案 0 :(得分:0)
如果您尝试在页面加载时将服务器端数据发送到客户端,您可以使用.NET ScriptManager类在页面上包含脚本或以内联方式执行(例如var value = <%= Value %>
)。
以下是如何使用ScriptManager在响应中包含脚本的示例:
Page.ClientScript.RegisterStartupScript(Me.GetType(), Me.GetType.Name(), script, True)
在这种情况下,对象script
是一个字符串,其中包含您要添加到页面的实际脚本。 script
等于:
"var data = 1234"
然后它将包含在您的页面的响应中(在表单元素内),如下所示:
<script>var data = 1234</script>
答案 1 :(得分:0)
根据调用此代码的时间,您可以执行以下操作:
data.setValue(1, 1, "<%=ServerSideFunction()%>");
修改强>
你说你要将值分配给隐藏字段,为什么不在Javascript中从HiddenField中检索值?:
JavaScript的:
var value = document.getElementById("<%=HiddenField1.ClientID%>").value;
jQuery的:
var value = $("#<%=HiddenField1.ClientID%>").val();
如果你需要获得一个在页面回发之前无法使用的值,我会考虑使用PageMethods。
这是一篇解释如何使用PageMethods的文章:
http://blogs.microsoft.co.il/blogs/gilf/archive/2008/10/04/asp-net-ajax-pagemethods.aspx