我對web開發相當陌生。javascript + asp.net - 從c#調用javascript函數並傳遞一個對象
基本上我使用HTML5畫布來渲染內容和清晰並呈現到畫布的javascript函數。
我希望調用一個Web服務來獲取會影響內容的數據,我相信這是最容易從C#完成的,並且想知道如何使用它來定期調用一個可以更新值的JavaScript函數正在呈現給畫布?
爲了使這更清楚,我有這樣的事情:
哦,我還使用jQuery的方式,部分原因是因爲有人告訴我。
Page.asp:
<body>
<form id="form1" runat="server">
<canvas id="canv" width="200" height="200">
Cannot display canvas because your web browser is a fail.
</canvas>
<script type="text/javascript">
var ctrls = new Array();
$(document).ready(function() {
var canvas;
var context;
canvas = $("#canv").get(0);
if (!canvas) {
alert("Failed to get canvas");
return;
}
context = canvas.getContext('2d');
if (!context) {
alert("Failed to get context");
}
var x;
x = new Object();
x.value = 0;
x.parent2d = context;
ctrls.push(x);
window.setInterval(Render, 25);
});
function Render() {
var i;
for (i = 0; i < ctrls.length; i++) {
ctrls[i].parent2d.clearRect(0, 0, 200, 200);
//Draw stuff.
}
}
function Update(newVal) {
var i;
for (i = 0; i < ctrls.length; i++) {
ctrls[i].value = newVal; //For example
}
}
</script>
</form>
</body>
什麼是最簡單的(如果它甚至有可能)的方式來調用從C#更新(的newval)函數(Page.asp.cs),以及怎麼會這樣設置要定期完成? 什麼對象可以傳遞給這個函數有什麼限制?
Dictionary<String, Double>
將是非常有用的。
嗨,更新將在定期調用Web服務(例如,每10秒)之後調用。我寧願使用C#進行Web服務調用,否則你知道一個好的Ajax教程嗎? – 2010-10-21 13:26:17
另外,如何從javascript調用c#方法將是一個很好的解決方案。 – 2010-10-21 13:28:57
Jquery的$ .ajax()方法非常簡單:http://api.jquery.com/jQuery。ajax /在C#中設計一個方法來處理jQuery在Ajax中發送它的任何參數,然後傳回一個基於文本的值。 $ .ajax(type:'POST',data:info_variable_sent_to_c_sharp,url:'/ Your/Site/method',success:function(){//在這裏做某事,它有效},error:function(){// Do別的,它失敗了}); – Mattygabe 2010-10-21 13:39:20