|
كد نويسي مستقيم سي شارپ در صفحه هاي ASP.NET
بدون مقدمه مي رم سراغ اصل مطلب و از اينجا شروع مي كنم كه اين كد نويسي چي مزايايي نسبت به كدنويسي اصطلاحا Behind Code داره مزاياي كدنويسي مستقيم Inline codeing حتما شده كه يك صحفه اي رو آپلود كنيد و پس از آپلود بخواهيد فقط يك متد از متدهاي سايت يا متدهاي صفحه رو تغيير بديد. اگر اينطوري هست حتما ديديد كه بابت اين تغيير كوچيك بايد كل DLL را آپلود كنيد. تازه با اين خطهاي داغون مخابرات كه واويلاس. استفاده كدنويسي مستقيم باعث ميشه كه شما DLL رو دست نزنيد و تغيير مورد نظرتون رو روي سايت انجام بديد. كاربردهاي ديگه اي هم اين بحث داره كه من فقط روي مشكل ايراني بودن خودمون خواستم دقت كرده باشم. خوب حتما منتظرريد بدونيد كه چطوري ميشه كدهاي سي شارپ رو در متن صفحه ASP.NET نوشت. كار بسيار راحتي هست. كافيه كه يكبار اين كار رو تجربه كنيد و ديگه همه چي تمومه. براي شروع من مي خوام صفحه اول سايت رو به يك آدرس ديگه تغيير بدم (بطور مثال مشكلي در سايت پيش اومده كه فعلا نميشه سايت رو ديد و براي رفع اين مشكل بهترين كار اينه كه سايت رو Redirect كنم). دستور مورد نياز براي اين موضوع (Response.Redirect(URL است كه حتما با اون آشنايي داريد. منظور از URL آدرسي است كه صفحه شما بايد به اونجا حركت كنه. براي اين منظور كد مورد نظر براي رويداد Page_Load رو مي نويسيم. اگر با اين مشكلي داريد مي تونيد بريد داخل كد سي شارپ و بعد كد رويداد رو همراه با تعريف رويداد با هم كپي كنيد داخل متن صفحه. اما كجاي صفحه؟ خوب كافيه قبل از تگ HTML اون كد رو كپي كنيد. اما IE چطوري ميفهمه كه اين كد همون كد رويداد Page_Load هست؟ خوب اينهم خيلي ساده هست! يك تگ تعريف اسكريپت براي اون بذاريد و همه چي تمومه. البته اين تگ حتما بايد خصوصيت "runat="server رو داشته باشه. نمونه كد نوشته شده براي تغيير مسير به صفحه جديد در رويداد Page_Load:
+
نوشته شده در دوشنبه بیست و چهارم اردیبهشت 1386ساعت 19:55 توسط کنستانتین
|
آشنایی با .NET 3.0
نمی خوام بترسونمتون یا حالتونو بگیرم فقط می خوام .NET 3.0 رو بهتون معرفی کنم. هنوز خیلی از عمر .Net 2.0 نگذشته که ماکروسافت نسخه 3.0 اونو عرضه کرده. دات نت 3 برخلاف چیزی که از ورژن اون برداشت میشه در کنار نسخه 2 نصب میشه و به اون نیاز داره ولی اینقدر تغییرات در اون زیاد بوده که مایکروسافت به جای اضافه کردن اعداد مینور یا بیلد ورژن اون، مجبور شده که عدد ماژور را زیاد کنه و به 3 افزایش بده. با خوندن پست امروز شما هم تصدیق می کنید که سبک برنامه نویسی در اون خیلی تغییر کرده. قبل از هر چیزی بهتره که یه نگاهی به ساختار .NET 3.0 و ارتباط اون با .NET 2.0 بندازیم. ![]() در شکل بالا قسمتهایی که با رنگ تیره مشخص شده اند مربوط به .NET 3.0 هستند. پس تا اینجا متوجه شدیم که چهار بستر جدید به اون اضافه شده که عبارتند از:
برای برنامه نویسی با استفاده از .NET 3.0 باید اول اونو روی سیستمتون نصب کنید. نسخه های مختلف اونو می تونید از سایت مایکروسافت دانلود کنید. تفاوت نسخه ها در اینه که نسخه 50 مگابایتی حاوی .NET 2.0 و .NET 3.0 باهمه ولی نسخه کوچکتر فقط حاوی .NET 3.0 است. برای برنامه نویسی با اون فعلا استفاده از VS2005 کافیه ولی باید یه چیزایی به اون اضافه کنید! به این چیزایی که باید اضافه کنید Extension میگن. اینها در حقیقت همون Template هایی هستن که به VS2005 اضافه میشن و شما در زمان ساخت یه پروژه جدید میتونید اونها رو انتخاب کنید. برای دانلود اونها کافیه تو سایت مایکروسافت و تو بخش دانلود دنبال اونا بگردید. برای هر بستر یه نسخه وجود داره و Extension هایی هم می تونید پیدا کنید که حاوی بیش از یه بستر هستن. پس از دانلود و نصب اونها شما آماده اید تا با استفاده از VS2005 و .NET Framework 3.0 برنامه های متفاوتی بنویسید. در پستهای بعدی بیشتر در مورد اون و خصوصا در زمینه WPF صحبت می کنیم.
+
نوشته شده در پنجشنبه سیزدهم اردیبهشت 1386ساعت 22:58 توسط ققنوس
|
استفاده از Server.Mappath براي بدست آوردن مسيرهاي بالاتر از ريشه سايت
چند وقت پیش یکی از دوستان یک هاست رایگان گرفته بود و در این هاست می خواست که مسیر پوشه بانک اطلاعاتی رو از طریق کد بدست بیاره. من هم یک کد کوچولو نوشتم و بعد فکر کردم که این موضوع ممکنه بدرد خیلی افراد دیگه ای بخوره. خوب اولین چیزی که به نظر میرسه اینه که خوب میشه از متد Server.MapPath استفاده کرد. اگر از این متد بخواهید استفاده کنید فقط می تونید مسیرهایی رو بدست بیارید که فقط داخل مسیر Webroot قرار دارند و این نکته استفاده از متد Server.MapPath هست. برای بدست آوردن مسیرهای بالاتر از ریشه سایت مثل DB که مورد نظر ماست باید یه چند خط کد اضافه بنویسید. برای این منظور ابتدا مسیر سایت رو بدست می آوریم که دقیقا مثلا Webroot هست بعد رشته مسیر بدست آمده رو برش می زنیم و Webroot رو از اون جدا می کنیم و بعد هم مسیر DB رو به اون اضافه می کنیم. با استفاده از همین روش می تونید هر مسیری رو که می خواهید در سرور هاست بدست بیارید. من برای راحتی کار این کد رو نوشتم: string dbFilePath = "";
+
نوشته شده در دوشنبه دهم اردیبهشت 1386ساعت 20:21 توسط کنستانتین
|
کنترلهای ویندوزی
بسیاری از کنترلهای ویندوزی در زمان استفاده مشابه کنترلهای دکمه و جعبه متن هستند. اگر به تصویر زیر نگاه کنید کنترلهایی که عموما در بسیاری از برنامه ها مورد استفاده قرار می گیرند رو خواهید دید. ![]() همه کنترلهای استفاده شده در تصویر برنامه فوق دارای خصوصیات: Name, Text, Font, ForeColor هستند. شما می توانیداین خصوصیات را از طریق پنجره خصوصیات یا از طریق برنامه نویسی تغییر دهید. کلاس فرم که توسط محیط طراحی ویژوال استدیو ساخته شده است دارای یک سازنده به نام Form1 است که در آن متد InitializeComponent صدا زده شده است. این متد خصوصیات کنترلها را تعیین می کند و شما نیز می توانید از طریق کد خصوصیات کنترلها را تغییر دهید. البته پیشنهاد می شود که مثل من برای تغییر خصوصات کنترلها در ابتدای برنامه از یک متد جدید به نام Init استفاده شود. و این متد پس از متد InitializeComponent صدا زده شود. برای مثال برای قرار دهی مقادیر اولیه در کنترل کمبو باکس (لیست فروریز) از همین روش استفاده شده و مقادیر در متد init تعریف شده و به لیست کمبو باکس اضافه می شوند. namespace ControlTest کنترل برچسب (Label) برچسب، یک فیلد نمایش متون در ویندوز است. معمولا برنامه نویسها از این کنترل در کنار کنترل جعبه متن (TextBox) استفاده می کنند. این کنترل نمی تونه فوکوس فرم را به خودش بگیره. در نتیجه کلیک روی آن یا حرکت Tab تاثیری روی کنترل برچسب ندارد. به هر حال شما می تونید بسیاری از خصوصیات این کنترل رو در زمان طراحی یا اجرا تغییر بدید.
کنترل جعبه متن (TextBox) جعبه متن یک کنترل با قابلیت تایپ متن است که به شکل تک خطی و چند خطی می تواند روی فرم تنظیم شود. شما می تونید متن این کنترل رو بگیرید یا متنی رو در کنترل قرار دهید. خصوصیات مهم این کنترل علاوه بر خصوصیات لیست شده برای برچسب عبارتند از:
برنامه نمونه: یک جعبه متن و یک کنترل دکمه روی فرم قرار دهید. سپس از کد زیر برای تغییر متن در زمان اجرا استفاده کنید. private void btnSetText_Click(object sender, EventArgs e) چون ادامه بحثمون یه خورده طولانی هست من ترجیح دادم در قسمتهای کوتاه تر و البته سریعتر اون ها را در سایت قرار بدم. در پستهای بعدی در خصوص دیگر کنترلهای ویندوزی صحبت خواهیم کرد. راستش حتما در خصوص این کلمه لیست فروریز یه خورده تعجب کردید! من خودم این کلمه بیشتر از هر کلمه فارسی دیگری می پسندم. بیشتر نشون می ده که این کنترل چی هست و چی کار می کنه.
+
نوشته شده در شنبه هشتم اردیبهشت 1386ساعت 10:23 توسط کنستانتین
|
خوب پست این دفعه با تاخیر زیادی همراه بود و دلیلشم مشغله زیاد و کارهای عقب افتاده تعطیلات نوروز بود که باید انجام میدادیم و هر سه نفرمون حسابی درگیر بودیم البته هوای بهاری هم بی تاثیر نبود!! اول از همه از همه کسایی که در مورد وبلاگ نظر دادن تشکر می کنم. مهیار عزیز در مورد منبع توایع API سوال پرسیدن که باید بگم بهترین منبع در این زمینه MSDN است. اگه دنبال منابع دیگه می گردی بهتره یه سری به گوگل بزنی. مثلا یادمه یه نرم افزار بود که حاوی توابع API به همراه مثال برای هر کدوم بود. البته اسمش الان یادم نیست. چند تا کتاب فارسی هم ترجمه و تالیف شده که می تونید از اونا استفاده کنید. من اسم یکیشون یادمه: ویژوال بیسیک و رابط برنامه نویسی کاربردی (VB AND API) بهادر عزیز یه سایت برای دریافت Ebook معرفی کردن و خواستن که تو وبلاگ معرفی کنم تا همه دوستان بتونن از اون استفاده کنن: محمد عزیز طریقه نصب C# را می خوان. برای نصب C# شما باید Visual Studio.NET 2005 را تهیه کنید. این نرم افزار بصورت DVD عرضه میشه در نسخه های مختلف. چون توی ایران زندگی می کنیم و فرقی بین قیمت کاملترین نسخه با بقیه نسخه ها نداره پیشنهاد می کنم که شما هم نسخه Team Suite را تهیه کنید. مراحل نصب کاملا سادست و کافیه پیغامها رو بخونید و عمل لازمو انجام بدید. فقط یه نکته که لازمه یادآوری کنم اینه که اگه قصد دارید ASP.NET هم کار کنید بهتره که IIS را قبلا راه اندازی کنید. دقت کنید که بطور پیشفرض زبانهای دیگه موجود در VS 2005 هم نصب میشن و اگه نمی خواید این اتفاق بیفته باید اونها را در زمان نصب از حالت انتخاب خارج کنید. البته پیشنهاد می کنم که همه اونا رو نصب کنید و یه نگاهی بندازید. راستی توی دی وی دی VS 2005 می تونید MSDN مربوط به اون هم پیدا کنید. راستی محمد، مطمئنی که تو عاشق ترین محمد هستی؟!! پارسیای عزیز مطمئنی که نسخه .NET Framework مورد نظرتون روی اون نصب شده؟ شاید ورژن .NET روی مبدا و مقصد یکی نباشه! بزودی قسمت سوم سری مقالات آموزش ADO.NET هم تو وبلاگ میذارم. قسمت سون در مورد Typed Dataset هاست. چند روز پیش روی یه رنامه کوچولو در زمینه Windows Mobile کار می کردم که متوجه شدم مایکروسافت یه نسخه از Managed DirectX را برای Device های مبتنی بر Windows Mobile ارائه کرده. خیلی خوشم اومد.البته نسبت به نسخه اصلی MDX محدودیتهای زیادی داره که قابل پیش بینی بود ولی تصمیم دارم کمی روی اون کار کنم. منتظر خبرهای بعدی در این زمینه باشید.
+
نوشته شده در شنبه یکم اردیبهشت 1386ساعت 1:25 توسط ققنوس
|
|



