PDA

View Full Version : سوال: خواندن مقدار یه متغیر عمومی سمت سرور در سمت client



unishomal
چهارشنبه 22 دی 1389, 00:51 صبح
با سلام
یه مشکل دارم اگه مقدوره کمک کنید


<script type="text/javascript">
if(!window.slider) var slider={};slider.data=[{"id":"slide-img-1","client":"nature beauty","desc":"nature beauty photography"}];
</script
>

مقداری که slider.data می گیره سمت سرور خوندم حالا موندم چطور این مقدارو نسبت بدم
اون متغیر باس سمت راست مساوی.
با تشکر

aminghaderi
چهارشنبه 22 دی 1389, 03:47 صبح
من درست متوجه نشدم چکار کردین و چگونه متغیر سروری رو فاخوانی کردین؟!
یکم بیشتر توضیح بدین؟؟
ولی چیزی که مشخصه اینه که شما برای ارتباط کلاینت با سرور فقط دو راه پیش رو دارید:
1- postback
2- اجکس xmlhttprequest .

حالا با توجه به اینکه شما ظاهرا به جاوا اسکریپت تسلط داری ، به نظر من با Ajax کار کنید ، زیاد واستون سخت نباشه.
حالا کامل توضیح بدید ببینم اصلا چکار می خواهید انجام دهید و اصلا کارتون توجیهی داره؟؟؟

unishomal
چهارشنبه 22 دی 1389, 11:37 صبح
من درست متوجه نشدم چکار کردین و چگونه متغیر سروری رو فاخوانی کردین؟!
یکم بیشتر توضیح بدین؟؟
ولی چیزی که مشخصه اینه که شما برای ارتباط کلاینت با سرور فقط دو راه پیش رو دارید:
1- postback
2- اجکس xmlhttprequest .

حالا با توجه به اینکه شما ظاهرا به جاوا اسکریپت تسلط داری ، به نظر من با Ajax کار کنید ، زیاد واستون سخت نباشه.
حالا کامل توضیح بدید ببینم اصلا چکار می خواهید انجام دهید و اصلا کارتون توجیهی داره؟؟؟

ببین داداش این کارو میخوام بکنم


[

<script type="text/javascript">

slider.data=متغیری که سمت سرور مقدار گرفته;
</script


اما نمی دونم چطور این مقدارو بخونم! اگه خارج از تگ اسکریپت بود اینطوری میخوندم <%= متغیر %> اما حالا نمیدونم....

aserfg
چهارشنبه 22 دی 1389, 11:59 صبح
دوست عزیز ، شما مقدار متغیر مورد نظر رو در کد بیهایند به خاصیت value یه hiddtentext نسبت بدید . سپس در سمت کلاینت مقدار value به راحتی در دسترس شماست .

majnun
چهارشنبه 22 دی 1389, 12:05 عصر
میتونید مقداری که سمت کلاینت بهش نیاز دارید را در یک کنترل هیدن فیلد قرار بدهید و با استفاده از جاوااسکریپت مقدارش را بگیرید

البته میشه مقدار تکست باکس را هم با جاوااسکریپت بگیری

unishomal
چهارشنبه 22 دی 1389, 12:29 عصر
میتونید مقداری که سمت کلاینت بهش نیاز دارید را در یک کنترل هیدن فیلد قرار بدهید و با استفاده از جاوااسکریپت مقدارش را بگیرید

البته میشه مقدار تکست باکس را هم با جاوااسکریپت بگیری

به نظر معقول می یاد اما من با هیدن فیلدا کار نکردم اگه ممکنه کدشو بزار دادا
ممنون

Himalaya
چهارشنبه 22 دی 1389, 13:01 عصر
سلام
از همون <% استفاده کن جواب میده


<script>
var totalRecord = <%= TotalRecord %>;
.
.
..
</script>

فقط متغیر Public و تو PageLoad مقداردهی بشه

unishomal
چهارشنبه 22 دی 1389, 13:10 عصر
سلام
از همون <% استفاده کن جواب میده


<script>
var totalRecord = <%= TotalRecord %>;
.
.
..
</script>

فقط متغیر Public و تو PageLoad مقداردهی بشه

داداش اون اسکریپت runatesh سرور نیست امتحان کردم جواب نمی ده میدونی چطور باس مقدارو به یه هیدن فیلد بدم؟

aserfg
چهارشنبه 22 دی 1389, 13:21 عصر
در نمای سورس :

<input id="Hidden1" type="hidden" value="" runat="server" />و در کد بیهایند :

Hidden1.Value=urvalname.tostring();و در جاوا اسکریپت با دستور document.getelementbyid() بهش دسترسی داری .

موفق باشی.

Himalaya
چهارشنبه 22 دی 1389, 13:26 عصر
داداش، لازم نیست runat=server باشه. شما میخواید از داخل تگ جاوا اسکریپت به مقدار یه متغیر که تو کدای c# پابلیک تعریفش کردید و الان مقدار داره دسترسی داشته باشید که جوابش رو گفتم.


اگه خارج از تگ اسکریپت بود اینطوری میخوندم <%= متغیر %> اما حالا نمیدونم
فرقی نداره کجای سورس صفحه میخواید بخونیدش. اگه جواب نگرفته بودم که نمیومدم بگم این کارو بکن!
در مورد HiddenField هم جناب aserfg توضیح دادن

aserfg
چهارشنبه 22 دی 1389, 14:19 عصر
روشی که دوست خوبم
karaji333 (http://barnamenevis.org/member.php?53563-karaji333)


گفتند بهتره فقط باید <% رو داخل '' قرار بدی به این شکل :


public string myvar = "alireza";
<body>
<form id="form1" runat="server">

<script type="text/javascript" language="javascript">
var totalRecord = '<%= myvar %>';
document.write(totalRecord);
</script>


</form>
</body>

unishomal
چهارشنبه 22 دی 1389, 23:47 عصر
در نمای سورس :

<input id="Hidden1" type="hidden" value="" runat="server" />و در کد بیهایند :

Hidden1.Value=urvalname.tostring();و در جاوا اسکریپت با دستور document.getelementbyid() بهش دسترسی داری .

موفق باشی.

داداش این تعریف فیلد هیدن،بلافاصله بعد از تعریف تک فورم آوردمش

<input ID="hval" type="hidden" value="" runat="server" />
اینم مقداردهیش سمت سرور،تو رویداد لود،مقدار هم میگیره..

hval.Value = Conten.ToString();
اما نتیجه ایی که می خواستم نداد،با firebuge ،تریس کردم میگه مقداری که با getElementById میگیرم nulle.


<script type="text/javascript">
var sd=document.getElementById('hval').value.toString( );

if(!window.slider) var slider={};slider.data=String(sd);
</script>

کلافم کرد به خدا،لطفا کمک کنید

Himalaya
پنج شنبه 23 دی 1389, 00:11 صبح
مجددا سلام.
خوب احتمالا شما اسکریپت رو گذاشتید تو هدر. پس وقتی اسکریپت اجرا میشه ، هنوز کنترل هیدن فیلد تو صفحه رندر نشده. پس نمیتوند بهش دسترسی داشته باشید.
اسکریپت رو بزارید تو یه function به این صورت


<head>
<script>
function ExecuteFunc() {
var sd = document.getElementById('hval').value.toString();
if (!window.slider) var slider = {}; slider.data = String(sd);
}
</script>
</head>
و بعد تو body قسمت زیر رو اضافه کنید


<body onload="ExecuteFunc()">


فقط باید <% رو داخل '' قرار بدی
در مورد عدد اون تک کوتیشن ها تاثیری ندارن . مثلا تو کد زیر نتیجه i , j یکی هستش


var i = 5 * <%= myvar %>;
var j = 5 * '<%= myvar %>';
alert(i + "**" + j);
ولی در مورد رشته نبودن تک کوتیشن ممکنه باعث خطا یشه (مثلا تو alert خطا میگیره)
و چون تو مثالی که زدم مقدار برگشتی int بود، تک کوتیشن ها رو نزاشتم

Javad_Darvish_Amiry
پنج شنبه 23 دی 1389, 03:35 صبح
عزیز دل برادر، اشکال کار شما جای دیگه ای هستش. دنبال اشکال بگرد.


داداش، لازم نیست runat=server باشه. شما میخواید از داخل تگ جاوا اسکریپت به مقدار یه متغیر که تو کدای c# پابلیک تعریفش کردید و الان مقدار داره دسترسی داشته باشید که جوابش رو گفتم.
اگه خارج از تگ اسکریپت بود اینطوری میخوندم <%= متغیر %> اما حالا نمیدونم
فرقی نداره کجای سورس صفحه میخواید بخونیدش. اگه جواب نگرفته بودم که نمیومدم بگم این کارو بکن!
در مورد HiddenField هم جناب aserfg توضیح دادن

این حرف کاملا درسته و اگه شما جواب نگرفتی، حتما یه جای دیگه ای از کار میلنگه. پس بگرد دنبال اشکال واقعی. اگه می تونی سورس رو بذار تا بخونیم ببینیم چی نوشتی شاید ما بتونیم کمک کنیم.
در مورد تک مخفی هم که شما استفاده کردی، اگه به پیغام خطای داده شده دقت کنی متوجه میشی که جاوا اسکریپت نتونسته کنترل یا آی دی داده شده رو توی صفحه پیدا کنه. دلیلش هم واضحه، چون شما وقتی یه کنترل رو سمت سرور ران می کنی (فرقی نمیکنه کنترل سروری باشه یا تگ HTML با صفت runat=server )آی دی کنترل (یا تگ) دیگه اونی نیست که شما دادی، و با توجه به controlTree یا همون درخت کنترل (لعنتی) تغییر میکنه. برای رهایی چند تا راه الان به ذهنم میرسه. البته راه های زیادی مسلما هست.
اول گرفتن کنترل رو اینطور تغییر بدی:


var sd=document.getElementById('<%= hval.ClientID %>').value.toString();

یعنی اجازه بدی ASP.NET آی دی کنترل مورد نظر رو برای سمت کلاینت با توجه به ControlTree بدست بیاره و بنویسه.
روش دیگه اینه که یه کنترل لیترال بذاری تو صفحه و کل تگ هیدن رو بعد از اینکه مقدار لازم رو بهش دادی، تو اون لیترال بنویسی که دیگه تکست خالی هست (از دیدگاه ASP.NET و گرنه ما میدونیم که یه تگ HTML هستش) و مستقیما بدون هیچ تغییری نوشته میشه تو صفحه و طبعتا آی دی هم دیگه تغییر نمیکنه.
یعنی:


litral1.Text = "<input id='hval' type='hidden' value='" + Content.ToString() + "' />";

ولی باز میگم، همه اینا غذا رو دور سر چرخوندنه، اشکال جای دیگه ای هستش، وگرنه <%= %> باید جواب بده، بگرد دنبال اشکال اصلی.
پاینده باشید.

aserfg
پنج شنبه 23 دی 1389, 08:28 صبح
ولی در مورد رشته نبودن تک کوتیشن ممکنه باعث خطا یشه (مثلا تو alert خطا میگیره)
و چون تو مثالی که زدم مقدار برگشتی int بود، تک کوتیشن ها رو نزاشتم vs2008 اگه تگ کوتیشن نزاری ، خطا می گیره .
64977

در مورد alert هم ، خطایی پیش نمی آد اینم سورس :
کد بیهایند :

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class Default2 : System.Web.UI.Page
{

public static int myvar = 5;

protected void page_Init(object sender, EventArgs e)
{

}

protected void Page_Load(object sender, EventArgs e)
{



}
}
و سورس صفحه :

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>


</head>
<body>
<form id="form1" runat="server">

<script type="text/javascript" language="javascript">
var totalRecord = '<%= myvar %>';
alert('<%= myvar %>');
document.write(totalRecord);

</script>


</form>
</body>
</html>
بدون هیچ خطایی alert مقدار 5 رو نشون می ده .
موفق باشید .

Javad_Darvish_Amiry
پنج شنبه 23 دی 1389, 15:54 عصر
در ادامه صحبت های دوست خوبم aserfg که درست میفرمایند، باید اضافه کنم که سمت کلاینت هم دوباره به مشکل برمیخوریم اگر اونور نیاز به یه عدد باشه که راه حلش هم ساده است:



var t = '<%= myvar %>';
alert(typeof t); // output = String
var totalRecord = parseInt(t);
alert(typeof totalRecord); // output = Number

موفق باشید.

Himalaya
پنج شنبه 23 دی 1389, 17:16 عصر
vs2008 اگه تگ کوتیشن نزاری ، خطا می گیره .
اون خطا رو vs 2010 هم میده. ولی مهم نیست. جواب میده


در مورد alert هم ، خطایی پیش نمی آد اینم سورس
پست من رو دقیق نخوندید. گفتم در مورد int مشکلی پیش نیماد. چه تک کوتیشن باشه و چه نباشه. کدی هم که شما گذاشتید در مورد عدد هستش.
اما اگه مقدار برگشتی string باشه و مثلا اونو تو alert نمایش بدیم (بدون تک کوتیشن)، اونوقت مرورگر فکر میکنه این مقدار اسم یه متغیره و نه مقدار و پیغام میده که همچین متغیری تو بخش جاوا اسکریپت نداری


public partial class _Default : System.Web.UI.Page
{
public string strValue = "amir";
public int intValue = 20;
protected void Page_Load(object sender, EventArgs e)
{

}
}


<head>
<title></title>
<script>
// str1=amir. amir is variable ? (error)
var str1 = <%= strValue %>;
var str2 = '<%= strValue %>';
var int1 = <%= intValue %>;
var int2 = '<%= intValue %>';
// Result: 20**20
alert(int1 + "**" + int2);
// Result: undefine**amir
alert(str1 + "**" + str2);
</script>
</head>


64999



در ادامه صحبت های دوست خوبم aserfg که درست میفرمایند، باید اضافه کنم که سمت کلاینت هم دوباره به مشکل برمیخوریم اگر اونور نیاز به یه عدد باشه که راه حلش هم ساده است:

مثالی که زدم فکر میکنم گویا باشه
ضمن اینکه بحث در مورد اینور یا اونور نیست. بله در اون صورت میشه با یه tostring تو کدای C# معادل string رو به جاوا پاس داد. یا ...

aserfg
پنج شنبه 23 دی 1389, 19:27 عصر
اصولا ما ایرانیها آدمهایی سرسخت و یکدنده ایم که می خوایم فقط حرف ما در ست باشه البته من خودم رو می گم به کسی برنخوره . ما با همه دوستیم و فقط برا اینکه تاپیک به جواب برسه ادامه می دم .




اون خطا رو vs 2010 هم میده. ولی مهم نیست. جواب میدهخیر جواب نمی ده .
65008


اما اگه مقدار برگشتی string باشه و مثلا اونو تو alert نمایش بدیم (بدون تک کوتیشن)،

دوست گرامی ، این که همون صحبت منه دارم می گم باید تگ کوتیشن باشه . نمی دونم ادامه این بحث چه علتی داره !!

بهتره فقط باید <% رو داخل '' قرار بدی به این شکل :

Himalaya
پنج شنبه 23 دی 1389, 19:48 عصر
وای من دیگه نمیدونم چه جوری بگم. شما حرف خودمو به خودم تحویل میدی (تازه واسش دلیل هم میاری!!!)
این حرف من


اما اگه مقدار برگشتی string باشه و مثلا اونو تو alert نمایش بدیم (بدون تک کوتیشن)، اونوقت مرورگر فکر میکنه این مقدار اسم یه متغیره و نه مقدار و پیغام میده که همچین متغیری تو بخش جاوا اسکریپت نداری

واین یعنی همون چیزی که شما تو پست قبل به عنوان ارور به من نشون میدید
حالا خوبه مثالی رو که شما تو پست قبل زدید، خود من تو پست بالاترش error مربوط به اون رو هم نشون دادم
تنها تفاوتش اینه که واسه شما alireza هستش و واسه من amir


اصولا ما ایرانیها آدمهایی سرسخت و یکدنده ایم که می خوایم فقط حرف ما در ست باشه البته من خودم رو می گم به کسی برنخوره . ما با همه دوستیم و فقط برا اینکه تاپیک به جواب برسه ادامه می دم .

اینم اصلا درست نیست که هر چی خواستیم بگیم، بعد آخرش عبارت البته من خودم رو می گم به کسی برنخوره اضافه کنیم. هرکی این پستا رو بخونه میفهمه که منظور شما من هستم نه یکی دیگه
فکر میکنم دوستمون هم به جوابش رسیده باشه و برای اینکه شما هم فکر نکنید که من از روی لجبازی دارم ادامه میدم پس همینجا cut میکنم (تمام حالتهاشو تو پست 17 نشون دادم و خروجی رو هم گذشتم)

Javad_Darvish_Amiry
پنج شنبه 23 دی 1389, 21:34 عصر
البته این روشی که دوستمون تو مباحثه در پیش گرفتن ( پس همنجا cut میکنم ... ) یه روش خیلی ... تو الزام حسن ختام یک صحبت به حساب میاد. ولی بگذریم. چرا دوست خوبم، بحث این ور و اون ور کاملا مهمه؛ شما میفرمایید با سی شارپ ToString رو فراخونی میکنم و رشته رو به جاوا (اسکریپت) پاس میدم. خوب گلم، حرف من چیز دیگه ای بود ( اگه دوباره لطف کنید و بخونید واضحه )، ما خود به خود داریم رشته رو به کلاینت میفرستیم نیاز به ToString نداریم. بنده عرض کردم اگه سمت کلاینت عدد بخوایم نه رشته، اون وقت با متود parseInt جاوا اسکریپت می تونیم اون رشته رو به عدد تبدیل کنیم. مثالی هم که شما زدید، ( alert(int1 + "**" + int2); ) در عین درست بودن از عالم بالا نیومده، همه میدونیم که علامت + بین یه رشته و هر چیز دیگه، باعث میشه اون چیز دوم متود toString ش فراخونی بشه و بعد به ته رشته اول بچسبه. در ضمن برای <% =%> هم بدن کوتیشن جواب نمیده ( حداقل تو تست من هم جواب نداده، نه 2010، نه 2008، نه 2005)

aserfg
پنج شنبه 23 دی 1389, 22:11 عصر
در ضمن برای <% =%> هم بدن کوتیشن جواب نمیده ( حداقل تو تست من هم جواب نداده، نه 2010، نه 2008، نه 2005) خدا بیامرزه .



شما حرف خودمو به خودم تحویل میدی (تازه واسش دلیل هم میاری!!!)

هر کی پستای شما رو از اول بخونه تناقضات واضح رو متوجه می شه .




هرکی این پستا رو بخونه میفهمه که منظور شما من هستم نه یکی دیگهباور کن منظورم همه ما بود . و شخص شما نبود . . می دونید درسته ما همدیگه رو نمی شناسیم و یکی از شرق و یکی از... ولی هممون نسبت به هم به برداشتی داریم . دوست ندارم هیچ کی از من خاطره بدی داشته باشه . ولی دوستی جای خودش مباحثه هم .. .
برای همه بچه های برنامه نویس بالاخص شما آرزوی موفقیت روزافزون دارم .

Javad_Darvish_Amiry
پنج شنبه 23 دی 1389, 23:06 عصر
خدا بیامرزه .

منظورتون رو نگرفتم دوست عزیز.

Himalaya
جمعه 24 دی 1389, 02:48 صبح
در ضمن برای <% =%> هم بدن کوتیشن جواب نمیده ( حداقل تو تست من هم جواب نداده، نه 2010، نه 2008، نه 2005)

خوب قرار بود ادامه ندم ولی در این مورد یه نکته ای به ذهنم رسید.
تو پست 17 این کدا رو گذاشته بودم


var str1 = <%= strValue %>;
var str2 = '<%= strValue %>';
var int1 = <%= intValue %>;
var int2 = '<%= intValue %>';
// Result: 20**20
alert(int1 + "**" + int2);
// Result: undefine**amir
alert(str1 + "**" + str2);
خط اول خطی هستش که error توش اتفاق میافته (بنا به دلایلی که 10 بار گفتم و تصور ارور رو هم گذاشتم.تصویر پست 17 و 18)
من از ie8 استفاده میکنم. تو ie8 درسته که تو اون خط ارور جاوا اسکریپت رخ میده ولی این مانع اجرای ادامه کدا نمیشه. با ff و opera هم تست کردم. تو این 2 تا مرورگر پنجره alert باز نشد و چیزی نمایش داده نشد (فکر میکنم ie7 هم بهمین صورت باشه). احتمالا به همین خاطر تست شما جواب نداده.
واسه تست این مورد کدای زیر رو تست کنید.(هم تو ff نتیجه رو نشون داد هم تو opera) تو کدای زیر str1 مقدار error رو نشون میده که قبلا در موردش صحبت شد
(str1 رو به این صورت (بدون تک کوتیشن) نمیشه استفاده کرد ولی 3 متغیر دیگه (از جمله int1 بدون تک کوتیشن) مشکلی ندارن ...)


<script>
// str1=amir. amir is variable ? (error)
try {
str1 = <%= strValue %>;
}
catch (e) {
str1 = "error";
}
var str2 = '<%= strValue %>';
var int1 = <%= intValue %>;
var int2 = '<%= intValue %>';
// Result: 20**20
// undefine**amir
alert(int1 + "**" + int2 + "\r\n" + str1 + "**" + str2);
</script>



البته این روشی که دوستمون تو مباحثه در پیش گرفتن ( پس همنجا cut میکنم ... ) یه روش خیلی ... تو الزام حسن ختام یک صحبت به حساب میاد

ای کاش او جا خالیشم پر میکردی. نه عزیزم. این حرفا نیست. چه الزامی؟؟؟ چه مباحثه ای!!! نه شما مجبوری جواب بدی نه من. پس تو جواب دادن یا ندادن الزامی وجود نداره. اینم که گفتم ادامه نمیدم واسه خاطر امتحانی هست که روز شنبه دارم و هنوز یه دور هم نرسیدم جزوه رو بخونم.


چرا دوست خوبم، بحث این ور و اون ور کاملا مهمه؛ شما میفرمایید با سی شارپ ToString رو فراخونی میکنم و رشته رو به جاوا (اسکریپت) پاس میدم

منظورم این بود که راههای رسیدن به خدا (نتیجه) زیاده. اینم یکیش


مثالی هم که شما زدید، ( alert(int1 + "**" + int2); ) در عین درست بودن از عالم بالا نیومده.همه میدونیم که علامت + بین یه رشته و هر چیز دیگه، باعث میشه اون چیز دوم متود toString ش فراخونی بشه و بعد به ته رشته اول بچسبه

خیلی ممنون از اینکه الحاق رشته ها به همدیگه رو آموزش دادید. شنبه امتحان کامپایلر دارم. یکی از موارد امتحانی همینه (الحاق رشته ها، زبانها و ...) یادم باشه اونجا ازش استفاده کنم. :چشمک:

Javad_Darvish_Amiry
جمعه 24 دی 1389, 02:57 صبح
خیلی ممنون از اینکه الحاق رشته ها به همدیگه رو آموزش دادید. شنبه امتحان کامپایلر دارم. یکی از موارد امتحانی همینه (الحاق رشته ها، زبانها و ...) یادم باشه اونجا ازش استفاده کنم.
گلکم، مهربون، عمیقا پیشنهاد میکنم یه بار کامل پستهای خودتون رو تو این تاپیک مطالعه کنید، و بعدش هم حتما نوشته های دیگران رو با دقت بیشتری بخونید. انشالله امتحانت هم خوب میشه، با فکر بازتری میای تالار. :چشمک:

aserfg
جمعه 24 دی 1389, 08:17 صبح
منظورتون رو نگرفتم دوست عزیز.

یه نوع تایید صحبت شماست .

unishomal
سه شنبه 05 بهمن 1389, 14:39 عصر
صلوات....
ممنون از همه دوستانی که خودشونو درگیر مشکل من کردن،خدا حفظتون کنه

راستش قضیه از این قراره که می خوام اسلایدریو که آپ کردمو داشته باشم با این تفاوت که مقادیر از db خونده شه!

اصلشو که گذاشتم،اینم کدای من...
بخش هد:





<script type="text/javascript" src="lib/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="lib/jquery.tools.js"></script>

<script type="text/javascript" src="lib/jquery.custom.js"></script>
<!-- Pirobox setup and styles -->
<script type="text/javascript" src="lib/pirobox.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$().piroBox({
my_speed: 400, //animation speed
bg_alpha: 0.1, //background opacity
slideShow : false, // true == slideshow on, false == slideshow off
slideSpeed : 4, //slideshow duration in seconds(3 to 6 Recommended)
close_all : '.piro_close,.piro_overlay'// add class .piro_overlay(with comma)if you want overlay click close piroBox

});
});
</script>


<link href="cssslideakhbar/styles.css" rel="stylesheet" type="text/css" />



این boddy



<div id="header">


<div class="wraps">
<div id="slide-holder">

<div id="slide-runner" dir="rtl">

<%=Itemsheader %>

<div id="slide-controls" >
<p id="slide-client" class="text"><strong>مطلب: </strong><span></span></p>
<p id="slide-desc" class="text"></p>
<p id="slide-nav"></p>
</div>
</div>

<!--content featured gallery here -->
</div>


<script type="text/javascript">

var sd='<%= valslide %>';

if(!window.slider) var slider={};slider.data=sd;



</script>
</div>


</div>

اینم کد سرور:




////slide show...................................

logic_slidekhabar lsa = new logic_slidekhabar();
DataTable dtslide = lsa.selectforview();
if (dtslide != null && dtslide.Rows.Count > 0)
{

string itemsheader = " <a href=''><img id='{0}' src='{1}' class='slide' alt='' /></a> <br /> ";

//string conten = "{N'{0}':N'{1}'"+","+ "N'{2}':N'{3}'"+","+" N'{4}':N'{5}'}";
//an loop in data items
for (int i = 0; i < dtslide.Rows.Count; i++)
{
if (i > 0)
{
Conten += ",";
}
Itemsheader += string.Format(itemsheader,"slide-img-"+(i + 1), dtslide.Rows[i]["PicUrl"].ToString());
Conten += "{'id':'slide-img-'+'"+(i+1)+"','client':'" + dtslide.Rows[i]["Title"].ToString() + "', 'desc':'" + dtslide.Rows[i]["Content_Complet"].ToString() + "'}";
//string.Format(conten,"id","slide-img-"+(i + 1), "client", dtslide.Rows[i]["Title"].ToString(),"desc",dtslide.Rows[i]["Content_Complet"].ToString());
}
Conten += "]";

}
//hval.Value = Conten.ToString();
valslide = Conten;
////slide show...................................

انگار همه چی درسته اما خروجی نمی ده،خدا خیرتون بده،کمک کنید!