PDA

View Full Version : انتقال رشته ای حاوی js با کوئری استرینگ



rational unified process
پنج شنبه 15 اسفند 1392, 19:15 عصر
سلام
سوال یک ) چه جوری میشه یه رشته جاوا اسکریپت رو با کوئری استرینگ ارسال کرد؟



string m="<script type='text/javascript'> var e=document.getElementById('#<%MultiView1.ClientID%>');e.ActiveViewIndex=1;</script>";
Response.Redirect("default.aspx?m="+m);



توی رویداد پیج لود صفحه ای که قراره دریافت داشته باشه هم نوشته ام :



string r=Request.QueryString["m"];




ولی وقتی برنامه اجرا میشه خطالی زیر میاد


A potentially dangerous Request.QueryString value was detected from the client (m="<script type='text/j...")




این یک سوال بود اما سوال دوم :

توی صفحه default ، دو user control دارم که هر کدوم داخل یک view تعبیه شده . و بطور پیش فرض اولین ویو فعال شده یعنی همونی که یوزر کنترل اول داخلشه. حالا میخوام از صفحه ی دیگری به صفحه دیفالت redirect بشم و متن m رو با کوئری استرینگ پاس بدم. در صفحه ای که قراره به صفحه دیفالت بره ،داریم:





string m = "MultiView a= (MultiView)FindControl('MultiView1'); a.SetActiveView(view2); ";

Response.Redirect("default.aspx?m="+m);





و در رویداد پیج لود صفحه دیفالت هم داریم :




string r=Request.QueryString["m"];





اما این بار مثل قبل خطا نمیده ولی چیزی هم اجرا نمیشه

kamranetemadi
جمعه 16 اسفند 1392, 13:41 عصر
جواب سوال اول:
iss برای جلوگیری از حملات xss جلوی ارسال کد html رو میگیره
http://barnamenevis.org/showthread.php?443525-Error-%D9%85%D9%87%D9%85

سوال دوم:
بجای این کارا
فقط یک عدد ارسال کن و داخل رویداد pageLoad صفحه view مربوط به اون عدد رو فعال کن
خیلی ساده تر و منطقی تر هم هست