我來自PHP背景,所以我習慣於讓PHP文件處理所有的Ajax調用。使用JS函數調用Ajax,ASP.NET控件
最近,我被介紹給ASP.NET控件和環境一般。
我想知道,當它們應該從JavaScript文件調用時,處理ajax請求的正確方法是什麼?
此外,如果你有超過AJAX是更好的選擇(與ASP.NET),我希望看到一個小的實現你的,使用它,如果可能的話。
謝謝!蓋伊
我來自PHP背景,所以我習慣於讓PHP文件處理所有的Ajax調用。使用JS函數調用Ajax,ASP.NET控件
最近,我被介紹給ASP.NET控件和環境一般。
我想知道,當它們應該從JavaScript文件調用時,處理ajax請求的正確方法是什麼?
此外,如果你有超過AJAX是更好的選擇(與ASP.NET),我希望看到一個小的實現你的,使用它,如果可能的話。
謝謝!蓋伊
我已經看到了很多關於ASP.NET AJAX implentations的...但我認爲最好的是他們是我自己...:d
只是做一個像這樣的javascript函數:
<script type="text/javascript">
function callasync(url, id_contenedor) {
var ajax = false;
if (window.XMLHttpRequest) {
//Mozilla, Safari, etc
ajax = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
//IE
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
//Versión antigua
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
}
}
}
else
return false;
if (id_contenedor != '') {
document.getElementById(id_contenedor).innerHTML = "<table width='100%' height='100%'><tr><td style='text-align: center; vertical-align: center;'><a class='LabelInfo'>Whait...</a><br /><img src='Imagenes/Esperar.gif' /></td></tr></table>";
}
ajax.onreadystatechange = function() {
pageload(ajax, id_contenedor);
}
ajax.open('GET', url, true);
ajax.send(null);
}
function pageload(ajax, id_contenedor) {
if (ajax.readyState == 4 && (ajax.status == 200 || window.location.href.indexOf("http") == -1))
if (id_contenedor != '') {
document.getElementById(id_contenedor).innerHTML = ajax.responseText;
ResizeCanvas();
}
}
</script>
然後調用函數 「callasync」 與URL和div的ID ...
callasync( 'mypage.aspx QS_KEY = 123?', 'DIVID');
在ASP.NET代碼隱藏...重寫Render方法是這樣的:
protected override void Render(HtmlTextWriter writer)
{
if (Request.QueryString["QS_KEY"] != null)
{
//render what you want.
}
else
{
base.Render(writer);
}
}
您所標記的問題,如ASP.NET MVC,而是說:「ASP.NET控件」將意味着Web窗體。你能告訴我們你在看哪種方法嗎? –
你是絕對正確的,我缺乏知識導致我認爲它是相關的。 – Novak
在這裏很重要的一點是要知道.net版本,它是內置的.Net 4.0+版本,並且以前必須添加一些配置和ajax工具包 –