• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

ايجاد يك پنجره جديد در دات نت

asal_a

کاربر تازه وارد
تاریخ عضویت
30 مارس 2006
نوشته‌ها
18
لایک‌ها
0
با سلام

در جاوا اسكريپت دستوري به نام window.open براي ايجاد يك پنجره خالي داشتيم
مي خواهم بدانم اين دستور در سي شارپ دات نت نيز وجود دارد يا خير

با تشكر .
 

H_R

مدیر بازنشسته
تاریخ عضویت
30 مارس 2005
نوشته‌ها
3,298
لایک‌ها
17
سن
42
محل سکونت
North Pole
به نقل از asal_a :
با سلام

در جاوا اسكريپت دستوري به نام window.open براي ايجاد يك پنجره خالي داشتيم
مي خواهم بدانم اين دستور در سي شارپ دات نت نيز وجود دارد يا خير

با تشكر .

دوست عزیز سوال جالبی کردی ، ولی باید همیشه یادمون باشه که #C و بقیه زبانهایی که با اونها دات مینویسم در حقیقت یک تکنولوژی سرور ساید رو توسعه میدن ، به همین جهت نباید از آونها توقع داشته باشیم که کارهای کلاینت ساید رو انجام بدن و در هر حال اگر هم با دات نت کار کلاینت سایدی میشه تنها جاوا اسکریپتیه که توسط خود برنامه تولید میشه ! (اگه دقت کنید همیشه یه فایل جاوا اسکریپت هم روی سرور شما موجوده که کلاسهای مورد نیاز دات نت رو در بر میگیره )
ولی برای اینکه بخوایم کاری کنیم که توسط برنامه نویسی دات نت یک پنجره باز بشه و اطلاعات فیلد های اون پنجرذه به پنجره مادر برگرده بدون اینکه یک خط جاوا اسکریپت توی وب فرم هامون بنوسیم باید جاوا اسکریپت رو به صفحه تزریق کنیم این کد به ما کمک میکنه تا این کار رو بکنیم :


این کد برای پنجره مادر است :
کد:
public class Default : Page

    {

        protected TextBox txtFirstName;

        protected TextBox txtLastName;

        protected Label Label1;

        protected Label Label2;

        protected HyperLink HyperLink1;

 

        private void Page_Load(object sender, EventArgs e)

        {

            //create our update function

            string scr = @"<script>

                    function update(elemValue)

                  {

                    document.getElementById('txtFirstName').innerText=elemValue[0];

                    document.getElementById('txtLastName').innerText=elemValue[1];

                  }

                  </script>";

            // register the javascript into the Page

            Page.RegisterClientScriptBlock("update", scr);

            //add our popup onclick attribute to the desired element on the page (Here, Hyperlink1)

            HyperLink1.Attributes.Add("onclick", "window.open('popup.aspx',null,'left=400, top=100, height=250, width= 250, status=n o, resizable= no, scrollbars= no, toolbar= no,location= no, menubar= no');");

 

        }

و اما پنجره فرزند (پنجره ای که باز شده ) :
کد:
public class popup : System.Web.UI.Page

    {

        protected System.Web.UI.WebControls.TextBox TextBox1;

        protected System.Web.UI.WebControls.Label Label2;

        protected System.Web.UI.WebControls.TextBox txtLastName;

        protected System.Web.UI.WebControls.TextBox txtFirstName;

        protected System.Web.UI.WebControls.Label Label1;

 

        private void Page_Load(object sender, System.EventArgs e)

        {  

            string scr= @"<script>

        function Done()

            {                                                                                

            var fName=document.getElementById('txtFirstName').value;      

var lName=document.getElementById('txtLastName').value;    

var ret= new Array(fName,lName);

window.opener.update(ret);        

            window.close();  

            }  

           </script>;";

            Page.RegisterClientScriptBlock("done", scr);

        }
 

mehdi25

کاربر تازه وارد
تاریخ عضویت
28 اکتبر 2004
نوشته‌ها
1,318
لایک‌ها
2
محل سکونت
طهران
ممنون H_R جان
 

winter

کاربر تازه وارد
تاریخ عضویت
4 فوریه 2006
نوشته‌ها
58
لایک‌ها
0
ببخشید که بعد از مدتها این تاپیک را آوردم بالا. دلیلش اینه که من میخوام با استفاده از همین روش که آقای روزنامه چی اینجا توضیح دادند یک پنجره جدید روی فرمم باز کنم ولی نیاز دارم که این پنجره جدید modal هم باشه. یعنی تا وقتی بسته نشده امکان انتقال کنترل به صفحات زیرینش نباشه.

کسی میدونه چطوری میشه همچین کاری کرد؟
 

H_R

مدیر بازنشسته
تاریخ عضویت
30 مارس 2005
نوشته‌ها
3,298
لایک‌ها
17
سن
42
محل سکونت
North Pole
هرکاری که توی جاوا اسکریپت میتونی بکنی با استفاده از این روش هم میتونی بکنی .
 
بالا