PDA

View Full Version : پاس دادن مقدار یک متغیر از جاوا اسکریپت به سی شارپ



amirjalili
یک شنبه 23 اسفند 1388, 12:44 عصر
با سلام..
فرض کنید در جاوااسکریپت متغیری داریم به صورت زیر :


<script language=javascript>
var i=1
</script>

حالا میخواهیم مقدار این متغیر رو در asp.net نشون بدیم


Response.Write(i)

چطور باید این کار انجام بشه.

Peyman.Gh
یک شنبه 23 اسفند 1388, 13:14 عصر
دوست عزیز در این تاپیک درباره فراخوانی تابع جاوا اسکریپت در Code Behind توضیح داده شده است.

http://barnamenevis.org/forum/showthread.php?t=209161

Milad Mohseny
یک شنبه 23 اسفند 1388, 15:01 عصر
اين كد سمت كلاينت:
<script type="text/javascript">
function MyFunction()
{
var valueToSetTo = 'abc|xyz'
__doPostBack('MyServerSideFunction', valueToSetTo);
}
</script>

<asp:Button ID="Button1" OnClientClick="MyFunction() ; return false;" runat="server" Text="Button1" />
اينم كد سمت سرور:
protected void Page_Load(object sender, System.EventArgs e)
{
//Insure that the __doPostBack() JavaScript method is created...
this.ClientScript.GetPostBackEventReference(this, string.Empty);
if (this.Page.IsPostBack) {
string eventTarget = (this.Request("__EVENTTARGET") == null ? string.Empty : this.Request("__EVENTTARGET"));
string eventArgument = (this.Request("__EVENTARGUMENT") == null ? string.Empty : this.Request("__EVENTARGUMENT"));
if (eventTarget == "MyServerSideFunction") {
Fun1(eventArgument);
}
}
}

private void Fun1(string arg)
{
//your logic
string[] args = arg.Split("|");
string firstValue = args[0];
string secondValue = args[1];
}
http://forums.asp.net/p/1251247/2313626.aspx

amirjalili
پنج شنبه 26 فروردین 1389, 14:08 عصر
با سلام.
سوالی برام پیش اومده و اون اینکه در مثال بالا یک متغیر پاس داده میشه.. در صورتی که 2 متغیر یا بیشتر رو بخواهیم از جاوااسکریپت به کد سمت سرور منتقل کنیم باید چه کاری انجام بدیم.؟

alireza_s_84
پنج شنبه 26 فروردین 1389, 17:02 عصر
با سلام.
سوالی برام پیش اومده و اون اینکه در مثال بالا یک متغیر پاس داده میشه.. در صورتی که 2 متغیر یا بیشتر رو بخواهیم از جاوااسکریپت به کد سمت سرور منتقل کنیم باید چه کاری انجام بدیم.؟
سلام دوست من:
من همیشه برای پاس دادن متغیرهای کلاینتی به سمت سرور از یک HidenField استفاده میکنم بدین صورت که مقدار متغیرهایی رو که میخوام به سمت سرور بفرستم بصورت زوج کلید/مقدار با & از هم جدا میکنم و توی خاصیت value اون hidenField میریزم و در سمت سرور مقدار همه رو با استفاده از شی دیکشنری میخونم.
ضمنا نگاهی به اون صفحه هم بنداز اونجا توضیح داده شده که چطور تابع سمت سرور رو با استفاده از callBack در کلاینت فراخونی بکنیم هرچند به نظر من استفاده از فیلد مخفی خیلی بهتره.
موفق باشید