تفاوت میان HyperLink و LinkButton در ASP.NET

9 12 2008

برای برنامه نویسان ASP.NET
در ASP.NET شما چندین راه برای فرستادن کاربر به یک صفحه جدید در پیش روی خود دارید. دو تا از کنترل هایی که می توانید برای این کار استفاده کنید عبارتند از HyperLink و LinkButton. هر دوی این کنترل ها قابلیت فرستادن کاربر به یک صفحه جدید را دارند و به اصطلاح عمل Redirecting را انجام می دهند. مهمترین تفاوتی که این دو کنترل در عمل دارند، این است که LinkButton یک PostBack به سرور ارسال می کند اما HyperLink مانند تگ Anchor در HTML فقط یک درخواست به مرورگر کاربر می فرستد. LinkButton دقیقاً شبیه یک Button معمولی عمل می کند اما شکل ظاهری آن مثل یک Hyperlink معمولی است.

از آنجا که LinkButton یک PostBack به سرور می فرستد، شما می توانید کارهای مختلفی را با آن انجام دهید. مثل پر کردن یک DataSet یا ست کردن یک متغیر Session. تفاوت مهم دیگری که این دو کنترل با هم دارند این است که کنترل HyperLink رویدادی به نام OnClick ندارد و تنها کاری که می تواند انجام دهد، Redirect کردن کاربر به آدرسی است که در مشخصه NavigateURL برای آن مشخص کرده اید.

asp_linkbutton_hyperlink

چه موقع از HyperLink و چه موقع از LinkButton استفاده کنیم؟

مواقعی که احتیاج دارید یک PostBack به سرور بفرستید (احتیاج به پردازش تحت سرور دارید) و با داده های صفحه وب کار کنید از LinkButton استفاده کنید و مواقعی که می خواهید فقط کاربر را به یک آدرس دیگر بفرستید از کنترل HyperLink استفاده کنید.

البته به نظرم بهتره به جای این دو کنترل به راحتی از دستور Response.Redirect استفاده کنید.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

پ.ن 1 : درسته که من در این وبلاگ تا به حال به صورت مستقیم در مورد ASP.NET ننوشته بودم، اما این دلیل نمیشه که بلد نباشم و ننویسم در این مورد. یکی از دوستان از من تقاضا کردند، منم از این به بعد می نویسم. در ضمن من ASP.NET تدریس می کنم ;)

پ.ن 2 : اگر به مباحث ASP.NET خیلی علاقه دارید و مطالب من برای شما خیلی ابتدایی است، پیشنهاد می کنم  وبلاگ آقای عارف کریمی و وبلاگ آقای نصیری را از دست ندهید.

پ.ن 3 : برای اینکه بفهمید پیج رنک وبلاگتون در گوگل چنده، می تونید از این سایت بهره ببرید. این سایت ابزارهایی همچون نمایش دهنده پیج رنک هم در اختیارتون قرار میده.





عملگر ؟؟ در سی شارپ

27 11 2008

یکی از عملگر(=Operator)های جالب سی شارپ که شاید خیلی ها با آن آشنایی ندارند، عملگری است به نام “??” که جهت مشخص کردن یک مقدار پیش فرض برای انواع های داده ای nullable به کار می رود. این عملگر شبیه به دستوارت شرطی عمل می کند، بدین صورت که اگر مقدار سمت چپ آن null باشد، مقدار سمت راست را برمی گراند و در غیر این صورت مقدار سمت چپ را برمی گرداند. فکر می کنم با یک مثال کاملاً متوجه منظورم خواهید شد :

string A = null;
string B = A ?? "DefaultValue";

در مثال بالا متغیری به نام A از نوع string تعریف کردیم و مقدار پیش فرض آن را برابر null قرار دادیم. سپس در خط دوم متغیر دیگری به نام B تعریف کردیم تا کاربرد عملگر ?? را درک کنید. در این خط، متغیر B مقدار رشته ای Default Value را در خود ذخیره خواهد کرد، زیرا سمت چپ آن (که متغیر A است) مقدار null دارد.

البته متغیرهای string قابلیت پذیرش null را دارند و به اصطلاح به آن nullable type می گویند. سودمندی عملگر ?? وقتی معلوم می شود که شما می خواهید مقدار پیش فرض برای انواع non-nullable type مانند int تعریف کنید; وقتی احتمال می دهید که امکان دارد در این گونه متغیرها مقدار null ذخیره شود. شاید شما هم با این مشکل برخورد کرده باشید که برخی مواقع به طور ناخواسته مقدار null به یک متغیر non-nullable مانند int نسبت داده می شود که در این موقعیت یک خطای کامپایلری دریافت خواهید کرد. اگر در این موارد از توابع تبدیل (cast) استفاده کنید یک InvalidOperationException دریافت خواهید نمود که باید آن را handle کنید. البته به راحتی می توانید با یک if ساده این مشکل را حل کنید اما در اینگونه موارد بهترین راه حل استفاده از عملگر ?? خواهد بود. برای در این موضوع به مثال زیر توجه کنید :

int? A = null;
int B = A ?? 0;

توجه داشته باشید، شما به صورت صریح نمی توانید مقدار null به انواع داده ای non-nullable نسبت بدهید، بلکه بایستی مانند مثال بالا، پس از نوشتن data type مورد نظر خود کاراکتر ? را قرار دهید. در خط دوم، ابتدا مقدار A بررسی می شود، اگر برار null بود (در اینجا) مقدار پیش فرض صفر را بر می گرداند، در غیر این صورت مقدار A را بر خواهد گرداند.

عملگر ؟؟ راه بسیار خوبی برای نسبت دادن متغیرهای nullable به متغیرهای non-nullable است.

عملگر ؟؟ در MSDN

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :





نسخه های جدید Datefa و Darkpad

1 10 2008

اگر خواننده این وبلاگ هستید حتماً با هدف این وبلاگ و برنامه هایی که قبلاً معرفی کرده بودم آشنایید. یکی از اهدافی که من در مورد این وبلاگ داشتم و در مورد وب سایتی که قراره ایجاد کنم خواهم داشت، تولید و پشتیبانی نرم افزارهای آزاد برای استفاده کاربران ایرانی سیستم عامل ویندوز است. حالا به علت مشغله و تحصیل و مسائل دیگر آنچنان نتوانستم برنامه هایی که در سر داشتم عملی کنم. به هر حال در طول عمر این وبلاگ اگر کار مفیدی در این زمینه کرده باشم همان عرضه اوپن سورس برنامه تاریخ شمسی برای ویندوز یعنی Datefa بوده و همچنین به علت علاقه ام به برنامه Darkpad، قصد دارم اون رو هم ادامه بدم و به صورت اوپن سورس منتشر کنم. برای کسایی که تازه با این وبلاگ آشنا شدن یا احیاناً نمیدونن من در مورد چی صحبت می کنم بهتره این صفحه و این صفحه را مطالعه کنند و سپس ادامه این مطلب را بخوانند.

Datefa

نرم افزاریست کم حجم، رایگان و کدباز برای سیستم عامل ویندوز که قادر است تاریخ میلادی جاری سیستم شما را به تاریخ معادل شمسی تبدیل کند. این برنامه راه حلی است مطمئن و آسان برای داشتن قابلیت تاریخ شمسی در سیستم عامل ویندوز مایکروسافت که دارای قابلیت های دیگری همچون تنظیمات، مبدل تاریخ، زنگ هشدار است و با استفاده از محیط قدرتمند دلفی 7 تولید شده است. عملکرد این برنامه بدین صورت است که پس از اجرا در حافظه سیستم شما مقیم می شود و یک آیکن جدید به قسمت System Tray (در کنار ساعت ویندوز) اضافه می کند. شما از این پس می توانید با نگه داشتن ماوس روی این آیکن و یا دابل کلیک کردن روی آن، تاریخ شمسی معادل تاریخ سیستم خود را مشاهده کنید. برای دسترسی به دیگر ویژگی های این برنامه باید روی همین آیکن کلیک راست نمایید تا به منوی Datefa دسترسی پیدا کنید. Datefa بر اساس کلاس تاریخ شمسی TFaDate که توسط دوست عزیزم آقای سالار خلیل زاده نوشته شده، ایجاد و توسعه داده شده است. با این امید که برای کاربران ایرانی سیستم عامل ویندوز مفید واقع گردد.

Datefa با مجوز اوپن سورس GPL 2.0 ارائه می شود. برای توسعه آن احتیاج به Borland Delphi 7 و کامپوننت های JVCL خواهید داشت. برای اطلاعات بیشتر می توانید این مطلب را مطالعه کنید و یا سئوالات خود را در قسمت نظرات همین مطلب ارسال نمایید

دریافت نسخه آزمایشی 2.0.3 | دریافت سورس کد

Darkpad

دارک پد ویرایشگر متنی است قابل حمل (=Portable) که پس از اجرا، کل صفحه کاری شما را پوشش می دهد ( به صورت Fullscreen) تا بتوانید آزادانه روی آن تایپ کنید و به جز نوشتن به هیچ چیز دیگری فکر نکنید. در حقیقت دارک پد کمک می کند تا روی متن خود تمرکز بیشتری داشته باشید. در دارک پد بر خلاف ویرایشگرهای متن دیگر همچون Notepad ویندوز، هیچ نوار ابزار یا منویی برای اجرای دستورات ویرایشی بر روی متن مورد نظر خود ندارید. تمام دستورات را بایستی بوسیله کلیدهای میانبر (Shortcut Keys) صادر کنید. با دارک پد می توانید متون ساده خود را باز کنید، ویرایش کنید و در نهایت تغییرات را ذخیره نمایید. توجه داشته باشید که دارک پد نیازی به نصب ندارد و فقط باید فایل اجرایی آن را باز نمایید.

علاوه بر حل شدن مشکلات نسخه ی قبلی Darkpad، این نسخه به صورت اوپن سورس و تحت مجوز GPL نسخه 2 منتشر شده است. این تصمیم را گرفتم تا هرکس بتواند بر اساس نیازش دارک پد را سفارشی کند. فقط یادتان باشد که باید نسخه های تغییر داده شده را نیز به صورت اوپن سورس ارائه کنید. دارک پد نیز همچون Datefa با استفاده از دلفی 7 تولید شده و برای توسعه آن از کامپوننت های JVCL استفاده کرده ام.

کلیدهای میانبر در Darkpad :

F1 : تنظیمات / راهنما / درباره برنامه | Ctrl+O: باز کردن فایل متنی |Ctrl+A: انتخاب کل متن

Ctrl+S: ذخیره کردن فایل | Ctrl+D: درج تاریخ | Ctrl++: افزایش اندازه فونت

Ctrl+-: کاهش اندازه فونت | Ctrl+T: انتخاب نوع قلم | Ctrl+F: پیدا کردن متن (جستجو)
Ctrl+R: جایگزینی متن | Ctrl+U: تبدیل حروف کوچک به بزگ در متن انتخابی
Ctrl+L: تبدیل حروف بزرگ به کوچک در متن انتخابی
Ctrl+Q: خارج شدن از برنامه;

دریافت نسخه آزمایشی 0.5.12 | دریافت سورس کد

توضیح : لینک های دانلود به صورت غیر مستقیم و در سایت Box.net قابل دریافت هستند.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :





باز کردن فرمت های مختلف با ATViewer در دلفی

29 08 2008

برای برنامه نویسان دلفی ATViewer نام کامپوننتی است برای محیط دلفی که با استفاده از آن می توانید به برنامه خود قابلیت پیش نمایش انواع فایل ها با فرمت های مختلف را بدهید. این کامپوننت قابلیت “ویرایش” فایل را به شما نمی دهد اما راهکاری برای نمایش انواع فایل های متنی، باینری، مالتی مدیا، تصاویر و صفخات وب به شما ارائه می دهد. با استفاده از این کامپوننت می توانید برنامه ای بنویسید که اکثر فایل های معمول را برای کاربر باز کند. برنامه های معروفی همچون UniversalViewer، UltraExplorer و FreeCommander از این کامپوننت برای نمایش انواع فایل ها استفاده می کنند.

فرمت هایی که این کامپوننت پشتیبانی می کند :

  • فایل های متنی : انواع فایل های متنی با فرمت TXT و RTF و پشتیبانی از یونیکد و UTF-8
  • انواع تصاویر : فرمت های معروف تصاویر : BMP, JPG, GIF, PNG, WMF و غیره.
  • مالتی مدیا : تمامی فرمت هایی که توسط Windows Media Player پشتیبانی می شوند از جمله : AVI, MPEG, MP3 و غیره. این فایل ها توسط اکتیو ایکس Windows Media Player پخش می شوند.
  • صفحات وب : تمامی فرمت هایی که توسط برنامه Internet Explorer باز می شوند : HTML و غیره. این فرمت ها توسط کنترل Browser دلفی که از مرورگر پیش فرض ویندوز استفاده می کند، باز می شوند.
  • پلاگین ها : فایل هایی که توسط پلاگین های Total Commander Lister پشتیبانی می شوند (wlx)

این کامپوننت کاملاً آزاد و تحت مجوز MPL 1.1 منتشر شده است، پس به رایگان آن را دریافت کنید و از آن لذت ببرید.

ATViewer را دریافت کنید!

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :