View Full Version : آموزش: ویژگیهای جدید ASP.NET 4.0 و Visual Studio 2010
ezamnejad
جمعه 10 اردیبهشت 1389, 21:30 عصر
با سلام
هدف از ایجاد این تاپیک معرفی ویزگیها و امکانات جدیدی است که به 4.0 ASP.NET و 2010 Visual Studio اضافه شده است .
این تاپیک به مرور و با کمک دوستان تکمیل خواهد شد .
برای حفظ انسجام تاپیک دوستان سعی کنند از پرسش هر گونه سوال در این تاپیک خوددادری کنند و سوالات خود را در یک تاپیک مجزا مطرح کنند .
ezamnejad
جمعه 10 اردیبهشت 1389, 21:38 عصر
پروفایل جدید :
در نسخه های قیلی Visual Studio پروفایلهای مختلفی از قبیل VB, C#, Web Development, General Development وجود داشت که امکان انتخاب هر یک از گزینه ها هنگامی که کاربر برای اولین بار وارد محیط visual studio میشود فراهم شده است .
در نسخه جدید دو پروفایل جدید برای توسعه دهندگان html ارائه شده است که شامل :
• Web Development
• Web Development (Code Optimized)
http://barnamenevis.org/forum/attachment.php?attachmentid=48206&stc=1&d=1272648623
در پروفایل Web Development نوار مربوط به client object و events در حالت html غیرفعال می شود . در حالت Code Optimized بخش designer که در پایین کادر قرار دارد نیز حذف شده وکاربر فضای بیشتری برای نوشتن کدهای خود دارد .
http://barnamenevis.org/forum/attachment.php?attachmentid=48207&stc=1&d=1272648623
جهت تغییر پروفایل مسیر Tools > Import & Export Settings > Reset all settings option را دنبال کنید . بدون نیاز به خروج از vs امکان تغییر پروفایل وجود دارد.
ویژگی multi monitor
یکی از ویژگیهای بسیار جذاب و کاربردی است که امکان بیرون کشیدن پنجره ها از IDE را به کاربر می دهد . با کلیک بر روی عنوان هر یک از پنجره ها و درگ به بیرون از visual studio فضای بیشتری برای کار فراهم می شود .
برای بازگردان پنجره ها نیز فقط کافی است عکس عمل فوق را انجام دهید .
http://barnamenevis.org/forum/attachment.php?attachmentid=48210&stc=1&d=1272648829
Code Identifier Highlighting
این ویژگی باعث می شود با انتخاب یک شناسه در هر قسمتی از کد که آن شناسه استفاده شده باشد highlight می شو د.
http://barnamenevis.org/forum/attachment.php?attachmentid=48209&stc=1&d=1272648623
بهبود Intellisense
در این نسخه از visual studio خاصیتها به صورت گروه بندی شده نمایش داده می شود در واقع با تایپ قسمتی از خاصیت کادر Intellisense کوچکتر شده و فقط خواصی را نمایش میدهد که با اطلاعات تایپ شده شما مطابقت دارد .
همچنین برای سوییچ سریع به یک ویژگی خاص مثل TextMode در کنترل TextBox پس از باز شده کادر Intellisense با تایپ TM میتوانید خیلی سریع به این خاصیت دسترسی پیدا کنید.
http://barnamenevis.org/forum/attachment.php?attachmentid=48213&stc=1&d=1272650000
کادر Add Reference
در نسحه های قبلی visual studio به دلیل پیش فرض بودن زبانه .net با باز کردن کادر add reference کاربر باید مدت زمانی را برای لود شده رفرنسهای دات نت از GAC منتظر می ماند در این نسخه زبانه پیش فرض یه Project تغییر کرده و هنگام باز شدن کادر add refrence به صورت پیش فرض این زبانه فعال است .
ezamnejad
جمعه 10 اردیبهشت 1389, 21:44 عصر
فشرده سازی Session :
با استفاده از خاصیت جدید compressionEnabled که در web.config تنظیم می شود می توان session های out-of-process که درون دیتابیس یا بر روی سرور ذخیره می شوند را فشرده نمود .
<sessionState
mode="SQLServer"
stateConnectionString="connectionstring goes here"
compressionEnabled="true"/>
چند ویژگی جدید در C#
• Dynamic lookup
• Optional parameters (پارامترهای اختیاری)
• Named (پارامترهای نامدار)
Dynamic lookup :
نوع static جدیدی که dynamic نام گرفته است . می توان از آن مانند object برای هر نوعی استفاده کرد . در صورتی که در هنگام استفاده خطایی رخ دهد ، خطا فقط در زمان اجرا نمایش داده می شود .
به عنوان مثال
dynamic integerValue = 1;
dynamic stringValue = " a string";
dynamic Result = integerValue + stringValue;
مقدار خروجی برای این کد 1 a string خواهد بود .
اگر خط اخر به صورت زیر تغییر باید
dynamic Result = integerValue & stringValue;
در زمان کامپایل هیچ خطایی رخ نمی دهد ولی در زمان اجرا خطای زیر رخ حواهد داد
Operator '&' cannot be applied to operands of type 'int' and 'string'
پارامترهای اختیاری :
تا قبل از ASP.NET 4.0 برای پیاده سازی پارامترهای اختیاری overload های مختلفی از توابع ایجاد میشد . در نسحه جدید با افزوده شده این ویژگی که جای ان در C# خالی بود به مختصر شدن کدها کمک بیشتری خواهد کرد .
در این مثال متغیر country به صورت اختیاری تعریف شده است که مقدار پیش فرض برای ان در نظر گرفته شده است
public void FunctionOptionalParam(string Name, int Age, string Country = "")
همانطور که در کد زیر مشاهده می کنید در صورت عدم مقداردهی پارامتر هیچ خطایی به وجود نخواهد امد و پارامتر با مقدار پیش فرض فراخوانی می شود .
FunctionOptionalParam("My Full Name",20);
پارامترهای نامدار :
با استفاده از این ویژگی می توان بدون رعایت ترتیب معرفی متغیرها درون تابع انها را مقداردهی نمود .
public void FunctionNamedParam(int x, int y , int z)
نحوه استفاده :
FunctionNamedParam(x:1, z:3, y:2);
ezamnejad
سه شنبه 28 اردیبهشت 1389, 14:43 عصر
URL Routing در ASP.NET 4.0 :
با استفاده از این ویژگی می توان URL هایی ایجاد کرد که با هیچ فایل فیزیکی ارتباط ندارد و URL های طولانی و نامفهوم را به آدرسهای بامعناتر و ساده تر برای کاربر تیدیل کنید . همچنین این کار باعث بهینه سازی سایت شما در موتورهای جستجو خواهد شد.
1- ابتدا فایل global.aax را با پروژه خود اضافه کنید .
2- فضای نام زیر را در ابتدای فایل global.asax اضافه کنید .
<%@ Import Namespace="System.Web.Routing" %>
3- در رویداد Application_start کد زیر را وارد کند :
RouteTable.Routes.MapPageRoute("route1", "Software/{name}", "~/default2.aspx");
با استفاده از کد فوق مسیر مورد نظر با استفاده از متد MapPageRoute به پراپرتی استاتیک Routes از کلاس RouteData اضافه می شود.
پارامتر اول متد MapPageRoute نام Route را مشخص می کند . پارامتر دوم آدرس مجازی است که امکان اضافه کردن پارامتر به آن نیز وجود دارد . با استفاده از پارامتر {name} می توان url نمایش داده شده را سفارشی نمود و در صورت نیاز می توان از این مقدار در برنامه استفاده نمود. در این قسمت امکان تعریف چندین پارامتر برای ایجاد مسیرهای پیچیده تر وجود دارد.
پارامتر سوم نیز مسیر فیزیکی url را مشخص می کند.
4- یک hyperlink بر روی صفحه default.aspx قرار دهد . به سه روش می توانید ادرس لینک را مشخص نمایید :
وارد نمودن مسیر مورد نظر در خاصیت NavigateUrl : همانطور که در کد زیر هم نشاده داده شده عبارت Programming به صورت دستی برای پارامتر {name} نوشته شده است.
<asp:HyperLink ID="HyperLink3" runat="server" NavigateUrl="~/software/Programming">test route</asp:HyperLink>
ایجاد url به طور اتوماتیک : در روش قبل در صورت نیاز به تغییر Software باید این مقدار هم در فایل global و هم در برنامه تغییر داده شود اما با استفاده از این روش در کد برنامه فقط پارامترها مقدار دهی می شوند.
<asp:HyperLink ID="HyperLink3" runat="server" NavigateUrl="<% $RouteUrl:Name=Programming %>">test route</asp:HyperLink>
ایجاد url با استفاده از کدنویسی : در این حالت هیچ نیازی به نوشتن url نخواهد بود و مسیر با استفاده از کدنویسی ایجاد خواهد شد .
<asp:HyperLink ID="HyperLink3" runat="server">test route</asp:HyperLink>
برای اضافه کردن url به کنترل hyperlink کد زیر را در رویداد Page_load قرار می دهیم .
RouteValueDictionary parameters = new RouteValueDictionary { { "name", "Programming" } };
VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(null, "route1", parameters);
HyperLink1.NavigateUrl = vpd.VirtualPath;
5- قبل از اجرای برنامه صفحه default2.aspx را به پروژه اضافه کنید . با کلیک بر روی hyperlink صفحه اول default.aspx نمایش داده خواهد شد. با این تفاوت که ادرس website/software/programming خواهد بود.
اگر نگاهی به سورس صفحه default.aspx درون مرورگر بیندازید خواهید دید که که آدرس واقعی لینک نمایش داده نخواهد شد .
<a id="HyperLink1" href="/WebSite1/Software/Programming">test route</a>
در بسیاری موارد نیاز است تا آدرس های بیشتری به کلاس Routes اضافه شود که در چنین مواردی می توان متدی ایجاد نمود و همه Route ها را درون آن Add کنید . سپس درون رویداد application_start یکبار تابع فراخوانی شود.
ابتدا متد زیر را در فایل global قرار دهید :
void SetRouts(RouteCollection routes)
{
routes.MapPageRoute("route1", "Software/{name}", "~/default2.aspx");
}
سپس این متد را در رویداد application_start فراخوانی کنید
SetRouts(RouteTable.Routes);
ezamnejad
جمعه 31 اردیبهشت 1389, 22:09 عصر
URL Routing در ASP.NET 4.0 :
دسترسی به مقادیر پارامترهای URL در برنامه :
به دو روش می توان پارامترها را در برنامه استفاده نمود .
در روش اول برای دستیابی یه مقدار پارامتر می توان آن با استفاده از عبارت RouteValue به مقادیر پارامترهای مختلف دستیابی نمود.
<asp:Label ID="Label1" runat="server" Text="<%$RouteValue:name%>"></asp:Label>
اگر نیاز به پردازش خاصی بر روی مقادیر دارید می توانید از روش دوم استفاده کنید و مقادیر را با استفاده از کدنویسی دستیابی نمایید.
Label2.Text = Page.RouteData.Values["name"].ToString();
تعیین مقادیر پیش فرض برای پارامترها :
در صورتی که کاربر آدرسی را به صورت زیر وارد کند چون مقداری برای پارامتر name تعیین نشده است با پیغام خطا مواجه خواهید شد.
http://WebSite1/Software/
برای جلوگیری از بروز چنین خطاهایی می توان برای پارامترها مقادیر پیش فرض تعیین نمود :
routes.MapPageRoute
("route1", "Software/{name}", "~/default2.aspx"
,true,new RouteValueDictionary{{"name","TestValue"}});
ایجاد محدودیت در Route :
با استفاده از این ویژگی می توان پارامترها را برای دریافت مقادیر خاص محدود نمود . پارامتر پنجم از متد MapPageRoute محدودیتها را تعیین می کند . در این پارامتر هر رشته ای که وارد کنید با آن به عنوان یک Regular Expression رفتار خواهد شد و صحت مقدار آن با استفاده از متد IsMatch کلاس Regex بررسی خواهد شد.
با استفاده از دستور زیر پارامتر Name محدود شده است و برای این پارامتر فقط می توان از حروف a-z استفاده نمود و استفاده از اعداد در url محدود شده است . همچینین این پارامتر فقط می تواند 5 کاراکتر داشته باشد .
routes.MapPageRoute
("route1", "Software/{name}", "~/default2.aspx"
,true,new RouteValueDictionary{{"name","myoc"}}
, new RouteValueDictionary {{"name", "[a-z]{5}"}});
استفاده از آدرسهایی مانند زیر باعث خواهد شد تا هیچ صفحه ای نمایش داده نشود .
http://website/software/prog
http://website/software/prog5
mjkhonline
جمعه 27 اسفند 1389, 16:43 عصر
لطفا در مورد امکانات ظاهری بیشتر صحبت کنید
مثلا قابلیت شیشه ای کردن فرم (مطابق با ویندوز7)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.