تولید کننده کدهای دو بعدی QR code

QR code generator for .NET 4.5+

The QR code generation routines are fully self-contained within this package. They do not call out to external services to generate the images.

To install Pitchfork.QRGenerator, run the following command in the Package Manager Console

PM> Install-Package Pitchfork.QRGenerator

REF:http://bit.ly/12Cpkdn


Introduction to ASP.NET Web Programming Using the Razor Syntax

صفحه بسیار عالی جهت کار کردن با Razor در زبان C#

Introduction to ASP.NET Web Programming Using the Razor Syntax (C#)

انواع path ها در ASP.NET

برگرفته از مقاله Types of ASP.NET paths

نوشته Nathanael Jones

همانطور که از عنوان این مقاله پیداست، می خواهیم انواع مسیرها در ASP.Net را معرفی و مکان استفاده آنها را مشخص کنیم. متاسفانه در تکنولوژی Asp.net انواع مختلفی از آدرس دهی و ارجاع وجود دارد که بعضاً این تنوع باعث سردرگم شدن برنامه نویسان می گردد.

این مقاله، جزییات هر یک از انواع path را بررسی نمی نماید و هدف معرفی مختصر هر یک است، که امیدوارم مورد پسند و مورد ارجاع دوستان قرار بگیرد.

انواع مسيرها در ASP.NET

Asp.net در وهله اول با virtual path  ارتباط دارد، قسمتي از مسير که بعد از نام هاست و شماره پورت مي آيد. زمانيکه با  Asp.net کار مي کنيد، بايد با انواع مختلف URI هايي که در زير بيان مي شود آشنا باشيد، و اينکه چگونه اين مسيرها توسط Asp.net بکار گرفته مي شوند:


•    Absolute paths : براي مثال

http://mycomputer/Web1/Test/images/companylogo.png

* Asp.net با اين نوع مسيرها کاري ندارد، اين مسيرها کمترين ابهام را دارند. Browser ها هم کمترين مشکل را براي فهميدن اين آدرسها دارند.
* از اين نوع آدرس دهي فقط براي ارجاع به سايتهاي خارجي استفاده کنيد. هزينه نگهداري آنها بالاست.

•    Root-Relative virtual paths  : براي مثال

/Web1/Test/images/companylogo.png

* Asp.net با اين گونه مسيرها هم کاري ندارد. Browser ها هم فقط به ابتداي اين گونه مسيرها نام دامنه سند موجود را اضافه مي نمايند.
* من به هيچ عنوان پيشنهاد نمي کنم از اينگونه آدرس ها در کد برنامه استفاده کنيد- به جای آنها مي توانيد از مسيرهاي application-relative يا relative ها استفاده نماييد.
 نکته: اصطلاحاً به اين مسيرها absolute virtual path و domain-relative path هم گفته ميشود.

• Application-relative paths : براي مثال

~/images/companylogo.png

* Browser ها که از کاراکتر tilde يعني همان ~ سر در نمي آورند، پس احتياج به يک عمليات ترجمه سمت سرور مي باشد. سمت سرور هم علامت ~ معني HttpRuntime.AppDomainAppVirtualPath مي دهد.
* Asp.net هم اين گونه مسيرها را در ويژگيهاي برخي کنترلها client-relative مي داند، اما شما بايد يادتان باشد که runat=”server”  بگذاريد.
* اين مسيرها جايي بدرد مي خورند که relative paths ها کارايي نداشته باشند.

• Relative paths : براي مثال

../images/logo.png

* دو نوع relative paths وجود دارد: server side و client side . اينها از نظر املايي فرقي ندارند، اما server side ها با فايل هاي در برگيرنده شان سمت سرور مرتبط هستند، و client side ها به آدرس بار يا parent markup file ها مرتبط اند.
* Server-side relative paths ها به مسير .master, .ascx,  يا محل .aspx ها مرتبط اند. اينها بايد تغيير پايه بدهند به client side relative path وقتيکه متد ResolveClientUrl() فراخواني مي شود. بيشتر کنترل هاي Asp.net اتوماتيک اين کار را براي شما انجام مي دهند. از اين گونه مسيرها زماني بايد استفاده شود که مي خواهيم به يک فايلي که نسبت به فايل فعلي تغيير مکان ندارد آدرس دهيم.
* Client side relative path ها به URL معمولاً آدرس بار وابسته اند. اگر بخواهيم به يک تصوير در صفحه html ارجاع دهيم ، بايد به مسيري آدرس دهيم که به جايي که در آدرس بار آن صفحه نوشته شده ربط داشته باشد. اگر بخواهيم از يک فايل css به چيزي ارجاع دهيم آدرس دهي بايد به جايي که فايل css در آن قرار گرفته مرتبط باشد. مسيرهايي که درفايل هاي جاوااسکريپت بکار مي روند به جايي که فايل جاوا اسکريپت در آن قرار گرفته ربط ندارند. در واقع بايد به سندي که جاوااسکريپت در آن بکار رفته مرتبط باشند.

• Fragment and javascript path : براي مثال

#section2 يا javascript:OpenPopup();

* Asp.net با اينگونه آدرس ها کاري ندارد. Browser ها هم وقتيکه يکي از اين آدرس ها کليک شود انتظار نمي رود که درخواستي را صادر کنند. و فقط در همان سند به قسمت خاصي مي روند.
* Fragment هرگز در درخواست هاي Http ديده نمي شود. اينها فقط به درد مرورگرها مي خورند. و قبل از اينکه چيزي به asp.net ارسال شود اينها حذف مي گردند.

2 ابزار جدید برای بهینه سازی وب سایت

http://userium.com

http://webdevchecklist.com

Automatic migrations with Entity Framework 4.3

پست خوبی در رابطه با تنظیمات اولیه برای پروژه های MVC و EF


اهمیت دستور Clean در ویژوال استودیو

امروز یک اتفاق عجیب برام می افتاد. Breakpoint در بعضی از قسمت های کد باعث متوقف شدن برنامه نمی شد.

این مشکل با رفتن به منوی Build و کلیک بر روی گزینه Clean prjName حل شد.

آزمایش صفحات وب در مرورگرها و سایز های مختلف

برای تست وب سایت در مرورگرهای مختلف:

http://browsershots.org

What is Screenfly?

Screenfly allows you to view your website on a variety of device screens and resolutions. Enter a URL and click on GO to get started.


How to: Implement Simple Forms Authentication

بهترین و ساده ترین راه برای لاگین ساختن در وب سایت.

لینک زیر را مشاهده کنید:

http://msdn.microsoft.com/en-us/library/xdt4thhy%28v=vs.100%29.aspx

ساخت فایل اکسل xls یا xlsx توسط #C و Asp.net

اول همه فکر می کنند export to excel کردن با Asp.net و#C نباید کار سختی  باشه. من هم از این قاعده مستثنی نبودم ضمن اینکه قبلا هم توسط یه کتابخونه خوب بنام ExcelPackage بار ها این کار را کرده بودم.

اما این دفعه قضیه فرق کرد تا دیروز دیتا می فرستادم تو اکسل (که همونطور که عرض کردم با ExcelPackage این کار مثل خوردن هلو بود) اما امروز می خواستم عکس هم بفرستم (به همین سادگی ! کی فکر می کنه آخه این کار باعث بشه 4 روز آدم علاف بشه و التماس گوگل و stackoverflow کنه.) بهر حال رسیدم به یه پست جالب تو یه وبلاگ که دیدم این بیچاره هم تمام راههایی که من رفتم و یه بار قبلاً طی کرده و به جواب رسیده خیلی خوشم اومد که چه قشنگ هم همه مراحل را نوشته حالا من دیگه تکرار مکررات نمی کنم خودتون تو این پست ببینید چه مصائبی جلو راهمون هست.

اما راه حل نهایی که می تونه آدم و از شر این گیر و گورها خلاص کنه کتابخونه NPOI بود که می شه از لینک زیر دانلودش کرد تو خودش مثال هم داره.

http://npoi.codeplex.com/documentation

روابط در Entity Framework

در حال نوشتن مطلبی درباره تعریف روابط در EF 4.1 و Code First هستم. مقاله هنوز ناقصه ولی لینکش را اینجا میگذارم.


نسخه docx

نسخه pdf

captcha ساده mvc

  پست عالی درباره captcha توسط Manfred

لاگین کردن از طریق کد در asp.net بدون گذشتن از صفحه لاگین

اول از همه عنوان انگلیسی آنچه توضیح داده خواهد شد:

How to authenticate user programmatically in ASP.NET?

موارد کاربرد:

1- زمانیکه بخواهیم بعد از ساختن کاربر جدید وی را به صفحه لاگین نفرستیم و دسترسی استفاده از برنامه را به او بدهیم.

2- زمانیکه بخواهیم صفحاتی را با نام کاربری از پیش تعیین شده به کاربرانی که لاگین نکرده اند نشان دهیم.

3- زمانیکه در حال برنامه نویسی هستیم و هر بار نمی خواهیم برای تست صفحه از صفحه لاگین بگذریم.


برای این کار کافیست:

1- متد زیر را در کد بنویسیم:

FormsAuthentication.SetAuthCookie("username", true);

با این کار یک کوکی برای username توسط برنامه ساخته می شود.

2- برای اینکه متد Membership.GetUser مقدار درستی برگرداند (null ندهد) کد زیر را به برنامه اضافه می کنیم:

MembershipUser user = Membership.GetUser("username");

GenericIdentity identity = new GenericIdentity(user.UserName);

RolePrincipal principal = new RolePrincipal(identity);

System.Threading.Thread.CurrentPrincipal = principal;

HttpContext.Current.User = principal;

3- redirect کردن کاربر به صفحه دلخواه.