PDA

View Full Version : سوال: اجرا کردن متدی در صفحه ی دیگر با آژاکس



RoostaYeBekr
جمعه 13 دی 1387, 20:06 عصر
با سلام
:لبخندساده:
چطوری می شه با این روش های کدنویسی آژاکس ، برنامه ای نوشت که که با کلیک روی یک دکمه ، متدی را از صفحه ی دیگری اجرا کرده و بعد مثلا یک مقدار برگرداند؟

من متاسفانه توی این مورد فقط بلدم که مثلا یک فایل متنی یا یک فایل xml رو ، بصورت زیر Load کنم.:گریه:


<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Load a textfile into an HTML element with XML HTTP</title>
<link rel='Stylesheet' href="StyleSheet.css" type="text/css" />
<script type="text/javascript">
var xmlhttp;
function loadXMLDoc(url)
{
xmlhttp=null;
if (window.XMLHttpRequest)
{
// code for Firefox, Opera, IE7, etc.
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp!=null)
{
xmlhttp.onreadystatechange=state_Change;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
else
{
alert("Your browser does not support XMLHTTP.");
}
}
function state_Change()
{
if (xmlhttp.readyState==4)
{
// 4 = "loaded"
if (xmlhttp.status==200)
{
// 200 = "OK"
document.getElementById('T1').innerHTML=xmlhttp.re sponseText;
}
else
{
alert("Problem retrieving data:" + xmlhttp.statusText);
}
}
}
</script>
</head>
<body onload="loadXMLDoc('test_xmlhttp.txt')">
<form id="form1" runat="server">
<div class="WidthHeight100" >

<%--...............................--%>
<div id="T1" style="border:1px solid black;height:40;width:90%;padding:5">
</div>
<br />
<center>
<button onclick="loadXMLDoc('test_xmlhttp2.txt')">Click</button>
</center>
<%--...............................--%>

</div>
</form>
</body>
</html>

raravaice
جمعه 13 دی 1387, 20:12 عصر
به آرگومان url در تابع loadXMLDoc آدرس نسبی صفحه ای رو بده که قرار هست یک مقدار رو برای شما Response کنه. موفق باشید

RoostaYeBekr
جمعه 13 دی 1387, 20:35 عصر
به آرگومان url در تابع loadXMLDoc آدرس نسبی صفحه ای رو بده که قرار هست یک مقدار رو برای شما Response کنه. موفق باشید
سلام و تشکر از راهنمائیتون
:لبخندساده:
ببخشید من متوجه نشدم که منظورتون از آدرس نسبی چیست؟
احتمال زیاد که منظورتون مثلا Default.aspx نبوده . چون این رو قبلا امتحان کرده بودم و در جواب کدهای صفحه ی Design رو به من نشون داد که من هم این رو نمی خواستم.

ممنون می شم اگر دوباره راهنمائی کنید.

raravaice
جمعه 13 دی 1387, 20:48 عصر
احتمال زیاد که منظورتون مثلا Default.aspx نبوده .

دقیقا منظورم یه همچین چیزی بود :)

پیشنهاد میکنم از web handler استفاده کنی "ashx" ولی اگر اصر داری که از aspx استفاده کنی فرم HTML رو خالی کن به غیر از سراید و بعد همه چیز رو از طریق کد نویسی Response کن.

موفق باشی

RoostaYeBekr
جمعه 13 دی 1387, 23:27 عصر
سلام و ممنون
خیلی راهنمائی خوبی کردید.:تشویق: منظورم استفاده از ashx است.
:لبخند:
من هم با استفاده از راهنمائی شما ، یک DropDownList یا ComboBox بدون PostBack ساختم. به این شکل که با انتخاب یک آیتم از این ComboBox ، موارد مربوط به آیتم انتخاب شده ، از دیتابیس آورده می شود.

دیتابیس در پوشه ی APP_Data است.
:لبخندساده:

ولی اگر اصر داری که از aspx استفاده کنی فرم HTML رو خالی کن به غیر از سراید و بعد همه چیز رو از طریق کد نویسی Response کن.

موفق باشی
آخه می دونید شما فرض کن که اصلا فرم HTML ام را هم خالی کردم . خوب مقدار خالی برگردانده می شود. منظورم این است که با خالی کردن Design که نمی رود سراغ Code Behind .

( خیلی دوست داشتم که فایل آپلود منتقل کنم ، و مثلا در صفحه ی دوم در سرور ذخیرش کنم . اما متاسفانه بلد نیستم )