الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Refresh Gridview Using Xmlhttprequest

بدأه ccmfe2003 في 11 فبراير 2009 · 7 رد · 1,358 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

كنت عايز اعرف ازاي اقدر اعمل Refresh ل Gridview عن طريق استخدام WebService و JavaScript

انا فعلا عملتها وهي شغاله تمام WebService بتعمل Insert وبعدين بتعمل Get للصفحة بس برده مش بتعمل ريفريش لGridview

ده الكود


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>ASP.NET AJAX</title>
<script language="Javascript" type="text/javascript">
var f1;
function Call(f)
{
f1=f;
callService(f1);
ShowGrid();
window.Reload();
}
function callService(f1) {
WebService.GetVoucher(
f1.elements["name"].value,
callComplete,
callError);
}
function callComplete(result) {
f1.elements["name"].value=result;
//f1.getElementsById["myDiv"].innerHtml="<B>" + result +"</B>";
}
function callError(result) {
f1.elements["name"].value=("Error! " + result);
}

//------------------------------------
function getXMLHTTP() {
var XMLHTTP = null;
if (window.ActiveXObject) {
try {
XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
}
}
} else if (window.XMLHttpRequest) {
try {
XMLHTTP = new XMLHttpRequest();
}
catch (e)
{
}
}
return XMLHTTP;
}
var XMLHTTP;
function go()
{

XMLHTTP = getXMLHTTP();
if (XMLHTTP != null)
{
XMLHTTP.open("GET", "Default.aspx?sendData=ok",true);
XMLHTTP.onreadystatechange = stateChanged;
XMLHTTP.send(null);
}
}
function stateChanged() {
if (XMLHTTP.readyState == 4 &&
XMLHTTP.status == 200) {
XMLHTTP.open("GET", "Default.aspx?sendData=ok",true);
}
}

function ShowGrid()
{



var ajaxRequest; // The variable that makes Ajax possible!

var strXml;
strXml = '<params><Operation>Save</Operation>';

ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
//strXml = '<params><Operation>Save</Operation><Name>'+ strName +'</Name><Age>'+ intAge +'</Age></params>';

ajaxRequest.open("POST", "Default.aspx",true);
ajaxRequest.send(strXml);

if(ajaxRequest.readyState == 200){


//res.innerHTML = ajaxRequest.responseText;



}

return false;
}




</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager
ID="ScriptManager1"
runat="server">
<Services>
<asp:ServiceReference Path="WebService.asmx" />
</Services>
</asp:ScriptManager>
<div>
<input type="text" id="name" name="name" onchange="Call(this.form);" />
<input type="button" value="Call Service" onclick="callService(this.form);" />
<div id="myDiv" style="width: 100px; height: 100px">
</div>
<br />
 <asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="Default.aspx.vb" Inherits="_Default" %>

In Page Load


Dim str As String = "select * from Tst"
Dim tbl As New DataTable
Dim da As New SqlDataAdapter(str, con)
da.Fill(tbl)
GridView1.DataSource = tbl
GridView1.DataBind()
 Dim con As New SqlConnection("Persist Security Info=False;User ID=sa;pwd=password;Initial Catalog=aaa;Data Source=M_F")

#2

طيب استخدمASP.NET Ajax

يعني UpdatePanel و كله يكون تمام

#3

استخدم Ajax وأداة Timer

وفي حدث Timer_Tick ممكن وضع كود Gridview.Databind

PMI_Logo_1.jpg

مدير مشاريع محترف - PMP
محلل أنظمة معتمد
مدير فريق برمجة تطبيقات ويب .Net

======|||||=====

======@ @====
==o0o== ( ) ==o0o===
================
كل منا يحتاج إلى الإرادة حتى يستطيع أن يقوم بعمله

#4

grid view

AhmedElbaz كتب:
طيب استخدمASP.NET Ajax

يعني UpdatePanel و كله يكون تمام

اخ احمد استخدام UpdatePanel بعمل على بطء الوقع

abdullahf4.jpg
#5
اقتباس
اخ احمد استخدام UpdatePanel بعمل على بطء الوقع

فعلا بيعمل ضغط علي السرفر في حالة وجود عدد كبير من المتصفحين للموقع في نفس الوقت

و لكن بصفة عامة هو الحل الافضل في حالة الحاجة الي استخدام Callback و ليس Postback بمعني زيادة ال user experience

علي العموم Ajax مبني علي XMLHTTPRequest

#6
AhmedElbaz كتب:
فعلا بيعمل ضغط علي السرفر في حالة وجود عدد كبير من المتصفحين للموقع في نفس الوقت

و لكن بصفة عامة هو الحل الافضل في حالة الحاجة الي استخدام Callback و ليس Postback بمعني زيادة ال user experience

ايش الفرق بين callback و postback

AhmedElbaz كتب:
علي العموم Ajax مبني علي XMLHTTPRequest

صحيح كلامك

abdullahf4.jpg
#7

السلام عليكم ورحمة الله وبركاته شكرا جزيلا على ردودكم

بالفعل انا عارف ان المشكله ممكن تتحل بأستخدام الUpdate Panel بس هي لها مشاكل كتير يعني احيانا لو جواها button مش بينفذ الكود اللى جواه غير لما اكتبله كود javaScript خطأ يعني اجعل فى الحدث onclick اسم فانكشن جافا سكريبت مش موجوده (وعلى فكره ده حصل معايا ولما سألت ناس كتير على النت لقيت ان الكلام ده صح)

ثانيا كما تفضل الأخوه بالتوضيح تقوم بالضغط على السيرفر فى حالة وجود عدد كبير من المستخدمين

ثالثا من مميزات الXMLhttpRequest انه بيعتمد على Html controls يعني هيكون اسرع

#8
اقتباس
ايش الفرق بين callback و postback

callback تعني ان يتم الرجوع الي السرفر لتعديل جزء بسيط من الصفحة دون تحميل الصفحة بالكامل من جديد بمعني تعديل الجزء المراد و فقط و هذا هو ما وجدت AJAX من اجله

postback هي الطريقة التلقيدية لتعديل اي جزء في الصفحة يعتمد علي السرفر بمعني تحميل الصفحة بالكامل لاي تغير و لو كان بسيط

اقتباس
بالفعل انا عارف ان المشكله ممكن تتحل بأستخدام الUpdate Panel بس هي لها مشاكل كتير يعني احيانا لو جواها button مش بينفذ الكود اللى جواه غير لما اكتبله كود javaScript خطأ يعني اجعل فى الحدث onclick اسم فانكشن جافا سكريبت مش موجوده (وعلى فكره ده حصل معايا ولما سألت ناس كتير على النت لقيت ان الكلام ده صح)

لا هذا ليس صحيح (استخدم Ajax اكثر من عاميين و لم اسمع عن ذلك)

اقتباس
ثانيا كما تفضل الأخوه بالتوضيح تقوم بالضغط على السيرفر فى حالة وجود عدد كبير من المستخدمين

و لكن في اوقات كثيرة هي الاختيار الافضل

و ايضا لا فرق بين Updatepanel و XMLHTTPRequest هم شئ واحد او بمعني اصح Updatepanel يستخدم XMLHTTPRequest كمكون رئيسي

و ال AJAX بصفة عامة في كل التقنيات يعتمد علي XMLHTTPRequest و Javascript , و لو اختلفت المسميات

اقتباس
ثالثا من مميزات الXMLhttpRequest انه بيعتمد على Html controls يعني هيكون اسرع

لا علاقة لل controls بهذه القضية نحن نتكلم عن مبدأ ال Callback

تم تعديل هذه المشاركة بواسطة AhmedElbaz في 18 فبراير 2009 في 08:32

مواضيع مشابهة