View Full Version : سوال: عمل نکردن response.redirect در chrome یا firefox
fahmaneh
شنبه 24 اسفند 1392, 17:44 عصر
سلام
من به یک مشکلی برخوردم ممنون می شم اگه کسی کمک کنه .
من یک گرید ویو دارم که در یکی از ستون های آن از دکمه استفاده کردم (درitemtemplate ) . در رویداد rowcommand گرید برای دکمه برنامه نوشتم و از response.redirect استفاده کردم .حال آنکه این response در ie به درستی عمل میکنه وبه صفحه مربوطه می رود ولی در firefox یا chrome نه.
جایگزینی برای response.redirect وجود دارد یا دستوراتی که مخصوص firefox یا chrome باشه؟
fahmaneh
یک شنبه 10 فروردین 1393, 17:35 عصر
ببخشید که تاپیک رو بالا آوردم.من هنوز این مشکل رو دارم یعنی واقعا کسی نیست کمک کنه ؟
mRizvandi
یک شنبه 10 فروردین 1393, 22:44 عصر
Response.Redirect در سمت سرور اجرا میشه و ارتباطی با مرورگر نداره.
احتمالا صفحه شما که حاوی گریدویو هست مساله ای داره و در کروم یا فایرفاکس نمیتونه کد رو اجرا کنه.
پیشنهاد می کنم کد گریدویو رو بذارید.
fahmaneh
دوشنبه 11 فروردین 1393, 10:54 صبح
ممنون که جواب دادید.
این کد داخل rowcommand گرید:
public void G2_RowCommand(object sender, GridViewCommandEventArgs e)// in GridView,each button that be clicked,call this Gridview event
{
if (e.CommandName == "edit")//if this condition was true ,
{
Session.Remove("type");
Session.Add("taskReport_id",e.CommandArgument.ToString());
Response.Redirect("Default3.aspx#3");
Default3.aspx#3 صفحه جاری است و قالب من تب بندی شده است 3# به تب سوم باید برود. جالب اینجاست که اگه url غیر از صفحه جاری باشه کار می کند ولی اگه صفحه جاری باشه و فقط شماره ی تب رو تغییر دهم آدرس url در بالای بروزر تغییر می کند ولی به تب مربوطه نمی رود.
مثل حالتی که در کش باقی مونده باشه. ضمنا برنامه رو دیباگ کردم کاملا اجرا شد و جایی خطا نداشت.
mRizvandi
دوشنبه 11 فروردین 1393, 13:28 عصر
البته فکر می کنم نیازی نیست که از Response.Redirect استفاده کنید، کافی است مقداری جاوا اسکریپت استفاده کنید.
Response.Redirect برای تغییر مسیر درخواست به صفحه ای دیگر استفاده میشه.
شما می خواهید با زدن کلیدی در گریدویو اسکرول بره روی تبی در همین صفحه ای که الان هست قرار بگیره؟
fahmaneh
دوشنبه 11 فروردین 1393, 17:22 عصر
درسته حق با شماست .اما من نیاز به refresh کردن صفحه ام دارم چون برنامه ام رو جوری نوشتم که در لود صفحه در صورت وجود session ایجاد شده عملیاتی انجام می شه . اول می خواستم از querystring استفاده کنم ولی جواب نمی داد فکر می کنم به دلیل نوع url و وجود تب ها بود.
آیا کدی برای پاک کردن کش و یا refresh کردن صفحه وجود دارد؟
mRizvandi
دوشنبه 11 فروردین 1393, 19:33 عصر
من در همچین مواقعی که کنترلم خاصیت postbackurl نداشته باشه از یک جاوا اسکریپت استفاده می کنم و پنلی که قرار هست بهش اسکرول کنم رو بررسی می کنم.
امیدوارم این کد با سناریوی شما هماهنگ باشه:
function GotoPanel() {
if ($('#pnlManagement').length > 0) {
$('html, body').animate({
scrollTop: $('#pnlManagement').offset().top
}, 0);
}
}
#pnlManagement: اسم پنلی هست که پس از postback نمایش داده میشه. حتما خصوصیت ClientIDMode رو هم استاتیک بذارید.
چک می کنم اگر پنل وجود داره، به top اون اسکرول می کنم که حالت انیمیشن هم داره.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.