PDA

View Full Version : آموزش: يك مثال كاربردي براي خواندن از بانك با استفاده از Ajax



csharpprogramer88
یک شنبه 16 آبان 1389, 11:06 صبح
سلام
از عنوان مشخصه چي ميخوام
من كمي از آزاكس ميدونم مثلا اينكه چطوري با آزاكس هر ده ثانيه ساعت را نشون بدم يا عمليات روي ليبل و اين چيزهاي ساده .

اگر بخوام مثل سايت هاي خبري وقتي روي عنوان خبر كليك ميكني متن كامل در صفحه اي جدا باز ميشه ولي من ميخوام با اي جكس متن خبر را از بانك بخونم و مثلا در يك تكست باكس نشون بدم

البته اين يك مثال هست براي رساندن منظورم كه اميدوارم واضح باشه اگر مثال مشابه هم داريد ممنون ميشم

با تشكر

maxpayn2
یک شنبه 16 آبان 1389, 15:39 عصر
ببین میتونی از این ایده بگیری ؟

http://www.barnamenevis.org/forum/showpost.php?p=1140439&postcount=2

z_bluestar
یک شنبه 16 آبان 1389, 15:45 عصر
خوب اگه کد نمایش خبرهات مثلا این طوری باشه
<asp:Repeater ID="rpArticleList" runat="server" DataSourceID="sdsArticle">
<ItemTemplate>
<div class="Article_Head">
<a href="#" onclick="<%# "ShowContent("+ Eval("ArticleID") +",'"+ Eval("ArticleName").ToString() +"')" %>"
title='<%# Eval("ArticleName") %>'>
<%# Eval("ArticleName")%></a></div>
</ItemTemplate>
</asp:Repeater>

برای اینکه به ازای کلیک بر روی هر لینک متن اون خبر در یک div لود بشه کد Jquery زیر می تونی بنویسی براش :

<script type="text/javascript">
function ShowContent(ID) {
$("div#MessageContent").slideUp("slow");
$("div#Loader").slideDown("slow");


$.get("ReadMessage.aspx", "MessageID=" + ID, function(data) {
$("div#Loader").slideUp("slow", function() {
$("div#MessageContent > div").html(data);
$("div#MessageContent").slideDown("slow");
});
}, "html");
return false;
}
</script>


ReadMessage.aspx نام صفحه ای است که Data را از آن Load می کنید به جای این بهتر از Handler ها استفاده کنید

MessageID هم پارامتری است که به اون صفحه ارسال میشه در واقع query string است

با این دستور می تونید پارامتر به اون صفحه ارسال کرده و محتویاتش بخونید بیارید در این div نشون بدید

z_bluestar
یک شنبه 16 آبان 1389, 15:48 عصر
این هم کد صفحه ReadMessage.aspx
HTML:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ReadMessage.aspx.cs" Inherits="abcconstruct.User.ReadMessage" %>

<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<asp:Literal ID="LiteralMessageContent" runat="server"></asp:Literal>
</body>
</html>

و کد C#:

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string ID = Request.QueryString["MessageID"].ToString();
long MessageId = long.Parse(ID);
DataSet ds = DataLayer.SiteMessage.SelectRow(MessageId);
string Content = string.Empty;
foreach (DataRow row in ds.Tables["SiteMessage"].Rows)
{
Content = row["Content"].ToString();
}
LiteralMessageContent.Text = Content;

}
}

majnun
یک شنبه 16 آبان 1389, 17:40 عصر
دوست عزیز این مثال را ببین بدردت میخوره

کار با وب سرویس ها،به وسیله جاوااسکریپت و ثبت اطلاعات در بانک و خواندن آنها+ معماری جند لایه (http://barnamenevis.org/forum/showthread.php?t=255429)

cjNet
دوشنبه 17 آبان 1389, 08:05 صبح
سلام .
به نظر من شما بخش اخبار تون را داخل یک updatePanel قرار بدید وقتی کاربر روی عنوان خبر کلیک کرد با یک متدی که کد خبر را میگیرد ومتن کامل آن رو باز می گرداند ، متن خبر را بدست آورید و حالا هرجا خواستید از اون استفاده کنید . چون شما از updatePanel استفاده می کنید این کار ها سریع انفاق می افته و کاربر زیاد متوجه فعل و انفعالاتی که در backGround اتفاق می افته نمیشه ...
فکر کنم توضیح بیشتری نیاز نباشه .
امیدوارم مفید باشه ...

csharpprogramer88
سه شنبه 07 دی 1389, 16:59 عصر
سلام

من یک مثال را که خودم نوشتم (بدون ای جکس) قرار میدم دوستان لطف کنند بگویند من چطوری باید با ای جکس این را طراحی کنم .

توضیحات :

برنامه دارای master page است که با کلیک بر روی لینک های سمت چپ (گروه های خبر ) عنوان خبر در صفحه نمایش داده میشود که کاربر باید با کلیک بر روی هر یک از عنوان های خبر ، با ای جکس بتونه از بانک متن خبر مربوط به آن عنوان را بخواند ومتن خبر را نمایش بدهد

دوستان لطف کنند با ای جکس این قسمت برنامه را توضیح دهید .

من فایل دیتابیس (در 2008طراحی شد) را ضمیمه میکنم من با استورد پروسیجر و کلاس در این برنامه استفاده کردم .

csharpprogramer88
شنبه 11 دی 1389, 08:27 صبح
دوستان من تازه کارم شاید از کد من چیزی دست گیر شما نشه اصلا به کد من کاری نداشته باشید و
لطف کنید و یک مثال کاربردی برام بفرستید

با تشکر