PDA

View Full Version : سوال: خوندن مقدار یه آرایه سمت کلاینت از سمت سرور



unishomal
سه شنبه 05 بهمن 1389, 15:37 عصر
سلام
میخوام مقدار دو متغیر arr,uri و از سمت سرور بخونم،لطفا راهنمایی کنید آرایه پاس دادم جواب نداد، رشته هم همینطور رو یه حرف درجا میزد جای تایپ شدن....



<div style="border:#000 thin solid;text-align:center" >
<a id='ticker' target="_blank" href="#" >&nbsp;</a>

</div>
<SCRIPT type="text/javascript" >
function cheshmak()
{

if(document.getElementById('b').innerHTML=="_")
{
document.getElementById('b').innerHTML="&nbsp;";
}
else
{
document.getElementById('b').innerHTML="_";
}

}
setInterval("cheshmak()",300);
//var arr=["be name khoda","salam dost aziz"," example"];
var arr='<%=ARRI %>';
var url=["http://barnamenevis.org/","http://google.com/","http://yahoo.com/"];
var current=0;
var tit=document.getElementById('ticker');
var count=0;
var str=arr[count];
var sleep=200;
runTheTicker();
function runTheTicker()
{
sleep=200;
current++;
if(current==str.length+1)
{
count++;
current=0;
if(count==arr.length)
{
count=0;
}

sleep=500;
str=arr[count];
tit.setAttribute("href",url[count]);
}
else if(current==str.length)
{
sleep=2000;
}
tit.innerHTML = str.substring(0,current)+'<span id="b">_</span>';
setTimeout("runTheTicker()",sleep);


}
</SCRIPT>


چه کار باس کنم؟
ممنون.

alonemm
سه شنبه 05 بهمن 1389, 18:41 عصر
سلام دوست من :
ميتونيد از يك UpdatePanel استفاده كنيد و مثل در يك رويداد يك شي اين عمليات رو انجام بديد.

unishomal
سه شنبه 05 بهمن 1389, 19:33 عصر
سلام دوست من :
ميتونيد از يك UpdatePanel استفاده كنيد و مثل در يك رويداد يك شي اين عمليات رو انجام بديد.
سلام.
هاااااااااااااااااااااااا ااااااااااااااااااان!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!:متعجب:
به هر حال ممنون،حل شد.
اگه کسی نیاز داشت بگه تا.......

مهدی کرامتی
چهارشنبه 06 بهمن 1389, 00:23 صبح
برای انجام این کار می توانید از چند راه متفاوت استفاده کنید:


اگر مشکل با پاس دادن آرایه از سمت سرور حل می شود می توانید آنها را در یک HiddenField در سمت سرور قرار دهید و در کلاینت محتوای اون رو بخوانید.
می توانید کل اسکریپت فوق را به همراه مقادیر مورد نظر برای آرایه ذکر شده از طریق Code Behind و با فراخوانی ScriptManager.RegisterStartupScript به صفحه سمت کلاینت اضافه کنید.

aserfg
چهارشنبه 06 بهمن 1389, 11:09 صبح
در صورتی که مقداری که می خواین از کد بیهایند بفرستید یک آرایه است بهترین کار استفاده از RegisterArrayDeclaration کلاس ClientScript است . نمونه کد زیر ابتدا در کد بیهایند یک آرایه به نام myname تعریف و در سمت کلاینت مقادیر مربوطه رو گرفته و به یک عنصر(المنت) select html (همون dropdown ) اضافه می کند .

در کد بیهایند :

protected void Page_Load(object sender, EventArgs e)
{
string[] myarray = {"ali","mahdi","reza","vahid"};
for (int i = 0; i < myarray.Length; i++)

{
string value = string.Format("'{0}'",myarray[i]);
Page.ClientScript.RegisterArrayDeclaration("names",value);

}


}و در نمای سورس :

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script language="javascript" type="text/javascript">
function BtnNameLoad_onclick() {

//Get The Control ID for the dropdown
var listID = document.getElementById("ddlNames");
//Check if the object is not null
if (listID != null) {
for (var i = 0; i < names.length; i++) {
// Create and Element Object of type "option"
var opt = document.createElement("option");
//Add the option element to the select item
listID.options.add(opt);
//Reading Element From Array
opt.text = names[i];
}
}
}



</script>
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<select id="ddlNames" name="D1">
</select><input id="BtnNameLoad" type="button" value="Load Name" onclick="return BtnNameLoad_onclick()" />

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

Javad_Darvish_Amiry
چهارشنبه 06 بهمن 1389, 21:00 عصر
سلام خسته نباشید. مشکل اینجا بوده احتمالا:

var arr='<%=ARRI %>';
که باید میشده:

var arr=<%=ARRI %>;
خدا رو شکر که حالا حل شد. :چشمک:

aserfg
چهارشنبه 06 بهمن 1389, 22:07 عصر
سلام خسته نباشید. مشکل اینجا بوده احتمالا:

var arr='<%=ARRI %>';
که باید میشده:

var arr=<%=ARRI %>;
خدا رو شکر که حالا حل شد. :چشمک:
دوست عزیز آرایه رو نمی شه به اون شکل دسترسی داشت مقالی که زدم دقیقا همون کاریه که باید انجام بشه
موفق باشید .

Javad_Darvish_Amiry
پنج شنبه 07 بهمن 1389, 00:29 صبح
سلام دوست خوبم. ممنون از تذکرتون. حق با شماست؛ اما به نظر من اینطور اومد که ایشون آرایه رو درست تو استرینگ مینویسن اما تو خوندنش از کلاینت مشکل دارن؛ در هر صورت این کد کلاینت هم مشکل داره؛ دقت بفرمایید:

var arr='<%=ARRI %>';