0

آموزش ASP.NET

 
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش ASP.NET

آموزش MVC-مفهوم Controller

برای آموزش ASP.NET MVC، یک برنامه کاربردی اینترنت ایجاد می کنیم.

قسمت چهارم: اضافه کردن Controller


فولدر Controllers

فولدر Controllers حاوی کلاس های controller می باشد که مسئول مدیریت ورودی کاربران و پاسخ های آن می باشد.

در MVC می بایست در انتهای نام همه Controller ها واژه "Controller" باشد.

در مثال ما، Visual Web Developer فایل های زیر را ایجاد کرده است:

Visual Web Developer یک کنترلر Home (برای صفحات Home و About) و یک کنترلر Account (برای صفحات Login): 

Controllers

وب سرور ها در حالت عادی URL های ورودی را به فایل های روی حافظه سرور نگاشت می کنند. برای مثال درخواست URL ی مانند "http://www.beyamooz.com/default.php"، به فایل "default.php" که در دایرکتوری ریشه سرور قرار دارد نگاشت خواهد گردید.

چارچوب MVC نگاشت را به صورت دیگری انجام می دهد. در MVC، یک URL به متد نگاشت می شود. این متدها در کلاس Controller قرار دارند.

Controllerها مسئول پردازش درخواست های ورودی هستند.

Controllerها ورودی ها را پردازش می کنند، داده ها را ذخیره می کنند، و پاسخی را به سمت کلاینت ارسال می کنند.


Home controller

فایل controller در این برنامه کاربردی، HomeController.cs، دارای دو کنترل Index و About می باشد.

کدهای زیر را داخل فایل HomeController.cs کپی نمایید:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcDemo.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{return View();}

public ActionResult About()
{return View();}
}
}

Views

فایل های Index.cshtml و About.cshtml در فولدر Views هرکدام  view مربوط به متدهای ()Index و ()About در  HomeController را مشخص می کنند.

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

یک شنبه 9 آذر 1393  12:34 AM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش ASP.NET

آموزش MVC-مفهوم Controller

برای آموزش ASP.NET MVC، یک برنامه کاربردی اینترنت ایجاد می کنیم.

قسمت چهارم: اضافه کردن Controller


فولدر Controllers

فولدر Controllers حاوی کلاس های controller می باشد که مسئول مدیریت ورودی کاربران و پاسخ های آن می باشد.

در MVC می بایست در انتهای نام همه Controller ها واژه "Controller" باشد.

در مثال ما، Visual Web Developer فایل های زیر را ایجاد کرده است:

Visual Web Developer یک کنترلر Home (برای صفحات Home و About) و یک کنترلر Account (برای صفحات Login): 

Controllers

وب سرور ها در حالت عادی URL های ورودی را به فایل های روی حافظه سرور نگاشت می کنند. برای مثال درخواست URL ی مانند "http://www.beyamooz.com/default.php"، به فایل "default.php" که در دایرکتوری ریشه سرور قرار دارد نگاشت خواهد گردید.

چارچوب MVC نگاشت را به صورت دیگری انجام می دهد. در MVC، یک URL به متد نگاشت می شود. این متدها در کلاس Controller قرار دارند.

Controllerها مسئول پردازش درخواست های ورودی هستند.

Controllerها ورودی ها را پردازش می کنند، داده ها را ذخیره می کنند، و پاسخی را به سمت کلاینت ارسال می کنند.


Home controller

فایل controller در این برنامه کاربردی، HomeController.cs، دارای دو کنترل Index و About می باشد.

کدهای زیر را داخل فایل HomeController.cs کپی نمایید:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcDemo.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{return View();}

public ActionResult About()
{return View();}
}
}

Views

فایل های Index.cshtml و About.cshtml در فولدر Views هرکدام  view مربوط به متدهای ()Index و ()About در  HomeController را مشخص می کنند.

  

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

یک شنبه 9 آذر 1393  12:34 AM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش ASP.NET

آموزش MVC-پایگاه داده

برای آموزش ASP.NET MVC، یک کاربرد اینترنت ایجاد می کنیم.

قسمت ششم: اضافه کردن پایگاه داده


 ایجاد پایگاه داده

Visual Web Developer دارای یک پایگاه داده رایگان با نام SQL Server Compact می باشد.

پایگاه داده ای که در این بیاموز مورد نیاز است را در چند مرحله ساده می توان ایجاد کرد:

  • در پنجره Solution Explorer روی فولدر App_Data کلیک راست نمایید.
  • گزینه Add, New Item را انتخاب فرمایید.
  • سپس گزینه * SQL Server Compact Local Database را انتخاب نمایید.
  • نام پایگاه داده را Movies.sdf بگذارید.
  • روی دکمه Add کلیک کنید.

اگر  SQL Server Compact محلی، را به عنوان یگ گزینه نمی بینید، به این خاطر است که SQL Server Compact را روی سیستم خود نصب نکرده اید، از لینک  SQL Server Compact  آن را نصب فرمایید.

نکته: در این آموزش انتظار می رود اطلاعاتی در مورد پایگاه داده SQL داشته باشید. اگر می خواهید در این زمینه مطالعه نمایید، بیاموز  SQL Home را ملاحظه فرمایید.


 افزودن جدول پایگاه

در فولدر App_Data روی فایل Movies.sdf دابل کلیک کنید تا پنجره مربوط به Database Explorer باز شود.

برای ایجاد جدول جدید در پایگاه داده، روی فولدر Tables کلیک راست نمایید، و گزینه Create Table را انتخاب فرمایید.

ستونهای زیر را در جدول ایجاد کنید:

Column Type Allow Nulls
ID int (primary key) No
Title nvarchar(100) No
Director nvarchar(100) No
Date datetime No

شرح ستون ها:

ID عدد صحیحی است که برای شناسایی هر رکورد جدول استفاده می شود.

Title متن صد حرفی است که نام فیلم در آن ذخیره می شود.

Director متن صد حرفی است که نام کارگردان فیلم در آن ذخیره می شود.

Date ستون تاریخ است که برای ذخیره تاریخ اکران فیلم استفاده می شود.

بعد از ایجاد ستون های بالا، باید ستون ID را به عنوان کلید اصلی جدول تنظیم کنیم. برای این کار کافی است روی نام ستون (ID) کلیک کنید و گزینه Primary Key را برای آن انتخاب نمایید. همچنین، در پنجره Column Properties ویژگی Identity را True کنید.

DB Explorer

هنگامی که ایجاد ستون های جدول تمام شد، جدول را با نام MovieDB ذخیره نمایید.

نکته:

ما تعمدا نام جدول را "MovieDBs" (که به s ختم می شود) انتخاب کردیم، در آموزش بعدی خواهید دید که نام "MovieDB" برای مدل داده انتخاب گردیده است.

عجیب است، اما این قرارداد نامگذاری است که برای اتصال controller به جدول پایگاه داده استفاده می شود.


 اضافه کردن رکورد به پایگاه داده

می توانید از Visual Web Developer برای افزودن رکورد تستی به پایگاه داده movie استفاده نمایید.

در فولدر App_Data روی فایل Movies.sdf دابل کلیک نمایید.

در پنجره Database Explorer، روی جدول MoviesDB کلیک راست نمایید و گزینه Show Table Data را انتخاب نمایید.

چند تا رکورد به آن اضافه کنید:

ID Title Director Date
1 Psycho Alfred Hitchcock 01.01.1960
La Dolce Vita Federico Fellini 01.01.1960

نکته: ستون ID به صورت خودکار مقدار می گیرد، لازم نیست به آن مقدار دهید.


افزودن رشته اتصال

در فایل Web.Config عناصر زیر را به تگ <connectionStrings> اضافه نمایید

<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|\Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

یک شنبه 9 آذر 1393  12:35 AM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش ASP.NET

آموزش MVC-مفهوم Model

برای آموزش ASP.NET MVC، یک برنامه کاربردی اینترنت ایجاد می کنیم.

قسمت هفتم: افزودن مدل داده


MVC Models

با استفاده از بخش Model در MVC می توان منطق تمام اجزای برنامه را مشخص کرد.( منطق تجاری، منطق صحت سنجی، منطق دستیابی به داده).

بخش Model در MVC، هم داده های برنامه را نگه می دارند و هم آن را مدیریت می کنند.


فولدر Models

فولدر Models حاوی کلاس هایی است که مدل برنامه را نمایش می دهند.

Visual Web Developer به صورت اتوماتیک فایل AccountModels.cs را ایجاد می نماید که ان فایل حاوی مدل هایی برای امنیت برنامه است.

AccountModel دارای مدل های LogOnModel، ChangePasswordModel، و RegisterModel می باشد.


افزودن مدل پایگاه داده

مدل پایگاه داده ای که برای این آمورش نیاز داریم در چند گام ساده قابل پیاده سازی است:

  • در Solution Explorer، روی فولدر Models کلیک راست نمایید، و گزینه Add و Class را انتخاب فرمایید.
  • نام کلاس را MovieDB.cs بگذارید و سپس روی Add کلیک نمایید.
  • کلاس را به صورت زیر ویرایش فرمایید:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace MvcDemo.Models
{
public class MovieDB
{
public int ID { get; set; }
public string Title { get; set; }
public string Director { get; set; }
public DateTime Date { get; set; }

}
public class MovieDBContext : DbContext
{
public DbSet<MovieDB> Movies { get; set; } 
}
}

نکته:

ما تعمدا نام مدل را "MovieDB"  انتخاب کردیم، در آموزش قبلی ملاحظه فرمودید که نام "MovieDBs" (که به s ختم می شود) برای جدول انتخاب گردیده است. عجیب است، اما این قرارداد نامگذاری است که برای اتصال controller به جدول پایگاه داده استفاده می شود.


افزودن Controller به پایگاه داده

کنترلر پایگاه داده که برای این آموزش نیاز دارید در چند گام ساده قابل پیاده سازی است:

  • پروژه خود را یکبار Re-Build نمایید: گزینه Debug، و سپس گزینه Build MvcDemo را در منوی برنامه انتخاب نمایید.
  • در پنجره Solution Explorer، روی فولدر Controllers کلیک راست نمایید و گزینه Add و Controller را انتخاب نمایید.
  • نام کنترلر را MovieController قرار دهید.
  • یک قالب انتخاب نمایید: Controller with read/write actions and views, using Entity Framwork
  • کلاس مدل را انتخاب نمایید: MovieDB
  • کلاس data context را انتخاب نمایید: MovieDBContext
  • گزینه views Razor را انتخاب نمایید (CSHTML)
  • روی Add کلیک نمایید.

 Visual Web Developer فایل های زیر را ایجاد خواهد کرد.

  • فایل MoveisController در فولدر Controllers
  • فولدر Movies در فولدر Views

 افزودن Viewهای پایگاه داده

فایل های زیر به صورت اتوماتیک در فولدر Movies ایجاد خواهد گردید:

  • Create.cshtml
  • Delete.cshtml
  • Details.cshtml
  • Edit.cshtml
  • Index.cshtml

تبریک

تبریک عرض می کنم، شما اولین مدل داده ای  MVC را به برنامه خود اضافه کرده اید.

اکنون شما می توانید روی سربرگ "Movies" کلیک نمایید.

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

یک شنبه 9 آذر 1393  12:35 AM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش ASP.NET

آموزش MVC-امنیت

برای آموزش ASP.NET MVC، یک برنامه کاربردی اینترنت ایجاد می کنیم.

قسمت هشتم: افزودن امنیت


امنیت برنامه MVC

در فولدر Models کلاس هایی وجود دارند که مدل برنامه را نمایش می دهد.

Visual Web Developer به صورت اتوماتیک، فایل AccountModels.cs را ایجاد می کند که حاوی مدل احراز هویت برنامه است.

AccountModels حاوی مدل های LogOnModel، ChangePasswordModel، و RegisterModel می باشد:

Model


مدل Change Password

public class ChangePasswordModel
{

[Required]
[DataType(DataType.Password)]
[Display(Name = "Current password")]
public string OldPassword { get; set; }

[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2}      characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "New password")]
public string NewPassword { get; set; }

[DataType(DataType.Password)]
[Display(Name = "Confirm new password")]
[Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }

}

مدل Logon

public class LogOnModel
{

[Required]
[Display(Name = "User name")]
public string UserName { get; set; }

[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }

[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }

}

مدل Register

public class RegisterModel
{

[Required]
[Display(Name = "User name")]
public string UserName { get; set; }

[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Email address")]
public string Email { get; set; }

[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }

[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }

}

مدل Register

public class RegisterModel
{

[Required]
[Display(Name = "User name")]
public string UserName { get; set; }

[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Email address")]
public string Email { get; set; }

[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }

[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }

}

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

یک شنبه 9 آذر 1393  12:36 AM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش ASP.NET

آموزش MVC-مفهوم Helper

Helperهای HTML برای تغییر خروجی HTML به کار می روند.


HTML Helpers

Helperهای HTML در MVC، شبیه کنترل های WebForm هستند.

Helperهای HTML، دقیقا مانند کنترل های WebForm در ASP.NET، برای تغییر خروجی HTML استفاده می شوند. اما Helperهای HTML سبک تر هستند.

Helperهای HTML بر خلاف کنترل های WebForm، مدل مبتنی بر رویداد و view state ندارند.

در اکثر حالات، یک Helper، متدی است که یک رشته را بر می گرداند.

در MVC، این قابلیت وجود دارد که یا helperهای شخصی سازی شده برای خودتان تعریف نمایید، یا می توانید ازHelperهای  HTML آماده استفاده نمایید.


HTML Helper های استاندارد

MVC دارای Helperهای استانداری برای بعضی از تگ های HTML، مانند لینک و فرم HTML، می باشد.


لینک های HTML

آسان ترین روش برای render گرفتن از لینک HTML استفاده از helperی با نام ()HTML.ActionLink می باشد.

در MVC، متد ()Html.ActionLink، به view لینک نمی شود. این متد یک لینک به actionی که در controller قرار دارد، ایجاد می نماید.

گرامر Razor:

@Html.ActionLink("About this Website", "About")

گرامر ASP:

<%=Html.ActionLink("About this Website", "About")%>

اولین پارامتر متنی است که لینک نمایش می دهد و دومین پارامتر نام action ی است که در controller قرار دارد.

()Html.ActionLink که در بالا ایجاد شد، خروجی HTML زیر را تولید می کند:

<a href="/Home/About">About this Website</a>

()Html.ActionLink دارای ویژگی های متعددی است:

خصوصیت توضیح
.linkText متن لینک را مشخض می کند
.actionName نام action را مشخص می کند
.routeValues مقداری که به action ارسال می شود را مشخص می کند
.controllerName نام کنترلر را مشخص می کند
.htmlAttributes مجموعه خصوصیت مربوط به link را مشخص می کند
.protocol پروتکل لینک را مشخص می کند
.hostname نام host لینک را مشخص می کند
.fragment anchor لینک را مشخص می کند

نکته: شما می توانید مقادیر را به action ارسال نمایید. برای مثال، شما می توانید id یک رکورد پایگاه داده را برای action مربوط به ویرایش جدول مربوطه ارسال نمایید.

گرامر Razor در #C:

@Html.ActionLink("Edit Record", "Edit", new {Id=3})

گرامر Razor در VB:

@Html.ActionLink("Edit Record", "Edit", New With{.Id=3})

()Html.ActionLink که در بالا ایجاد شد، خروجی HTML زیر را تولید می کند:

<a href="/Home/Edit/3">Edit Record</a>

عناصر فرم HTML

HTML helper های زیر برای render کردن تگ های مربوط به فرم های HTML استفاده می شود:

  • BeginForm()
  • EndForm()
  • TextArea()
  • TextBox()
  • CheckBox()
  • RadioButton()
  • ListBox()
  • DropDownList()
  • Hidden()
  • Password()

گرامر ASP.NET در #C:

<%= Html.ValidationSummary("Create was unsuccessful. Please correct the errors and try again.") %>
<% using (Html.BeginForm()){%>
<p>
<label for="FirstName">First Name:</label>
<%= Html.TextBox("FirstName") %>
<%= Html.ValidationMessage("FirstName", "*") %>
</p>
<p>
<label for="LastName">Last Name:</label>
<%= Html.TextBox("LastName") %>
<%= Html.ValidationMessage("LastName", "*") %>
</p>
<p>
<label for="Password">Password:</label>
<%= Html.Password("Password") %>
<%= Html.ValidationMessage("Password", "*") %>
</p>
<p>
<label for="Password">Confirm Password:</label>
<%= Html.Password("ConfirmPassword") %>
<%= Html.ValidationMessage("ConfirmPassword", "*") %>
</p>
<p>
<label for="Profile">Profile:</label>
<%= Html.TextArea("Profile", new {cols=60, rows=10})%>
</p>
<p>
<%= Html.CheckBox("ReceiveNewsletter") %>
<label for="ReceiveNewsletter" style="display:inline">Receive Newsletter?</label>
</p>
<p>
<input type="submit" value="Register" />
</p>
<%}

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

یک شنبه 9 آذر 1393  12:36 AM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش ASP.NET

آموزش MVC-انتشار سایت

نحوه انتشار یک برنامه کاربردی MVC را بدون استفاده از Visual Web Developer بیاموزید.


برنامه کاربردی MVC خود را بدون استفاده از Visual Web Developer منتشر کنید

برنامه کاربردی ASP.NET می تواند در یک سرور راه دور با استفاده از دستور Publish در WebMatrix ,Visual Web Developer یا Visual Studio منتشر شود.

این تابع تمام فایل های برنامه شما، controller ها، مدل ها، تصاویر، و همه فایل های DLL مورد نیاز برای MVC، WebPage، Razor و Helper ها، و SQL Server Compact را کپی می کند.

برخی اوقات شما این گزینه را نمی خواهید. ممکن است سرویس دهنده میزبان شما فقط از FTP پشتیبانی کند. شاید در حال حاضر یک سایت بر مبنای ASP کلاسیک دارید. ممکن است بخواهید فایل ها را خودتان کپی کنید. احتمال دارد بخواهی از Front Page یا Expression Web و یا سایر نرم افزار های انتشار وب استفاده نمایید.

آیا با مشکل مواجه خواهید شد؟ بله، اما می توانید مشکل را حل نمایید.

برای اجرای دستی کپی وب، باید بدانید که چگونه فایل های مناسب را انتخاب نمایید، چه فایل های DLL ی را باید کپی کنید، و آن ها را کجا ذخیره سازید.

گام های زیر را دنبال کنید:


1. از آخرین نسخه ASP.NET استفاده نمایید

قبل از اینکه ادامه دهید مطمئن باشید که کامپیوتر میزبان شما آخرین نسخه ASP.NET را اجرا می کند.


2. فولدرهای وب را کپی کنید

سایت خود را (تمام فولدرها و محتوا) را از کامپیوتر خود به فولدر روی کامپیوتر میزبان (سرور) کپی کنید.

اگر فولدر App_Data دارای داده تست است، فولدر را کپی نکنید.


3. فایل های DLL را کپی کنید

روی سرور یک فولدر bin داخل فولدر ریشه برنامه بسازید. (اگر Helper ها را نصب کرده باشید، شما یک فولدر bin دارید)

هر چیزی که داخل فولدرهای زیر دارید کپی کنید:

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies

و آن ها را داخل فولدر bin روی سرور انتقال دهید.


4. فایل های DLL مربوط به SQL Server Compact را کپی نمایید

اگر برنامه شما پایگاه داده SQL Server Compact دارد (فایل sdf. داخل فولدر App_Data)، می بایست فایل های DLL مربوط به SQL Server Compact را کپی کنید:

هر چیزی که داخل فولدر زیر قرار دارد را کپی کنید:

C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v4.0\Private

و آن ها را داخل فولدر bin سرور انتقال دهید.

یک فایل Web.config برای برنامه خود ایجاد کنید (یا آن را ویرایش کنید):

مثال #C

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0" />

<add invariant="System.Data.SqlServerCe.4.0"
name="Microsoft SQL Server Compact 4.0"
description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.1,Culture=neutral, PublicKeyToken=89845dcd8080cc91" />

</DbProviderFactories>
</system.data>
</configuration>

5. داده های SQL Server Compact را کپی کنید

آیا داخل فولدر App_Data فایل های sdf. دارید که حاوی داده های تستی است؟

آیا می خواهید اطلاعات را در سرور منتشر کنید؟

به احتمال زیاد جواب منفی است.

اگر مجبور شدید که فایل های SQL را (فایل sdf.) در سرور کپی کنید، شما می بایست تمام داده های پایگاه داده را حذف کنید و سپس فایل sdf. خالی را از روی کامپیوتر خود به سرور انتقال دهید.

فقط همین. موفق باشید!

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

یک شنبه 9 آذر 1393  12:37 AM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش ASP.NET

ASP.NET WebForm

آموزش WebForm-معرفی

با استفاده از تکنولوژیASP.NET می توانید وب سایت ها را با ترکیب HTML، CSS، JavaScript، و اسکریپت نویسی سمت سرور توسعه دهید.

ASP.NET سه مدل توسعه متفاوت را پشتیبانی می کند:

WebPage و WebForm و MVC

این آموزش WebForm را پوشش می دهد.

Web Pages   MVC   Web Forms

WebForm چیست؟

یکی از سه مدل برنامه نویسی برای ایجاد وب سایت های ASP.NET و برنامه های کاربردی وب می باشد.

دو مدل برنامه نویسی دیگر عبارتند از WebPage و (MVC (Model View Controler

WebForm، قدیمی ترین مدل برنامه نویسی ASP.NET است. این فرم ها صفححات وب مبتنی بر رویدادی هستند که با استفاده از ترکیب HTML، کنترل های سرور، و کدهای سمت سرور نوشته می شوند.

WebForm روی سرور کامپایل و اجرا می شوند، و نتیجه این اجرا صفحات HTML ای است که صفحات وب را نمایش می دهد.

WebForm، شامل صدها کنترل و کامپوننت  متفاوب وب است تا وبسایت هایی با دسترسی به داده را ایجاد نماید.


Visual Studio Express 2012/2010

ویژوال استودیو اکسپرس نسخه رایگان مایکروسافت ویژوال استودیو است.

ویژوال استودیو اکسپرس ابزار توسعه ی سفارشی برای WebForm (و MVC) است.

ویژوال استودیو اکسپرس شامل:

  • WebForm و MVC
  • کنترل های وب drag-and-drop و کامپوننت های وب
  • زبان وب سرور (Razor با #C یا VB)
  • وب سرور (IIS Express)
  • سرویس دهنده پایگاه داده (SQL Server Compact)
  • چارچوب توسعه وب کامل (ASP.NET)

اگر ویژوال استودیو اکسپرس را نصب کنید، امکانات بیشتری از آنچه در این آموزش ذکر شده نصیبتان می گردد.

اگر قصد دارید ویژوال استودیو اکسپرس را نصب کنید، روی لینک های زیر کلیک کنید:

Visual Web Developer 2012 (برای ویندوز 7 یا ویندوز 8)

Visual Web Developer 2010 (برای ویندوز vista یا XP)

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

یک شنبه 9 آذر 1393  12:38 AM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش ASP.NET

آموزش WebForm-مفهوم Page

یک صفحه ASP.NET دقیقا مشابه یک صحفحه HTML به نظر می رسد.


Hello Beyamooz

برای شروع یادگیری ASP.NET، یک صفحه HTML خیلی ساده که متن "Hello Beyamooz" را در مرورگر نمایش می دهد، می سازیم.

Hello Beyamooz!


Hello Beyamooz در HTML

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

<html>
<body bgcolor="yellow">
<center>
<h2>Hello W3Schools!</h2>
</center>
</body>
</html>

اگر می خواهید خودتان امتحان کنید، کد را در فایلی با نام "firstpage.htm" ذخیره نمایید، و یک لینک به فایل مانند زیر ایجاد کنید:

firstpage.htm


Hello Beyamooz در ASP.NET

 ساده ترین روش برای تبدیل یک صفحه HTML به یک صفحه ASP.NET، کپی کردن فایل HTML در یک فایل جدید با پسوند aspx. است.

کد زیر مثال را در یک صفحه ASP.NET نشان می دهد:

<html>
<body bgcolor="yellow">
<center>
<h2>Hello W3Schools!</h2>
</center>
</body>
</html>

اگر می خواهید خودتان امتحان کنید، کد را در فایلی با نام "firstpage.aspx" ذخیره نمایید و لینکی به آن فایل مانند زیر ایجاد نمایید:

firstpage.aspx


چگونه کار می کند؟

اساسا یک صفحه ASP.NET مشابه یک صفحه HTML است.

یک صفحه HTML دارای پسوند htm. است. اگر مرورگر درخواست صفحه ای HTML از سرور داشت، سرور بدون هیچ تغییر صفحه را به سمت مرورگر بر می گرداند.

یک صفحه ASP.NET پسوند aspx. دارد. اگر مرورگر درخواست صفحه ASP.NET از سرور داشت، سرور قبل از اینکه نتیجه را به مرورگر برگرداند کدهای داخل صفحه را پردازش می کند.

صفحه ASP.NET بالا حاوی هیچ گونه کد قابل اجرا نیست، بنابراین هیچ چیزی اجرا نمی شود. در مثال های بعدی، کدهای اجرا شدنی را به صفحات اضافه می کنیم تا تفاوت بین صفحات ایستا HTML و صفحات پویای ASP را نشان دهیم.


ASP كلاسيك

Active Server Pages یا ASP سال ها پیش معرفی گردیده است. در ASP، کدهای اجرایی داخل صفحات HTML قرار مي گیرند.

نسخه قبلی ASP (قبل از ASP.NET) اغلب ASP كلاسيك ناميده می شود.

ASP.NET كاملا با ASP كلاسيك منطبق نیست، اما اکثر صفحات ASP کلاسیک به عنوان صفحه ASP.NET، تنها با تغییرات اندک درست کار می کنند.

اگر قصد دارید در مورد ASP كلاسيك بياموزید، لطفا بیاموز ASP Tutorial را ملاقات فرمایید.


صفحات پویا در ASP كلاسيك Dynamic Page in Classic ASP

براي نمايش اينكه چگونه ASP محتواي پویا را نمایش می دهد، چند کد قابل اجرا در مثال قبل اضافه می کنیم.

<html>
<body bgcolor="yellow">
<center>
<h2>Hello Beyamooz!</h2>
<p><%Response.Write(now())%></p>
</center>
</body>
</html>

کدهایی که داخل تگ های <%-- %> قرار دارند سمت سرور اجرا مي شود.

Response.Write كدی است كه تكه كدی HTML را روی جریان خروجی می گذارد.

()Now. تابعی است که تاریخ و زمان جاری سرور را بر می گرداند.

اگر می خواهید، خودتان امتحان کنید، کد را در یک فایل با نام "dynpage.asp" ذخیره کنید، و یک لینک مانند زیر به این فایل ایجاد کنید:

 dynpage.asp


 صفحات پویا در ASP.NET

در کد زیر نحوه نمایش مثال فوق در صفحه ASP.NET آورده شده است:

<html>
<body bgcolor="yellow">
<center>
<h2>Hello W3Schools!</h2>
<p><%Response.Write(now())%></p>
</center>
</body>
</html>

اگر قصد دارید خودتان امتحان کنید، کد را در فایلی با نام "dynpage.aspx" ذخیره نمایید و یک لینک مانند زیر به این فایل ایجاد کنید:

 dynpage.aspx


 ASP.NET  در مقایسه با ASP کلاسیک

مثال قبلی هیچ تفاوتی بین ASP.NET و ASP كلاسيك نشان نداد.

همانگونه که ملاحظه نمودید،  در دو مثال آخر هیچ تفاوتی بین صفحات ASP كلاسيك و ASP.NET وجود نداشت.

در آموزش بعدی ملاحظه خواهید کرد که چگونه کنترل های سرور، ASP.NET را قوی تر می نماید

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

یک شنبه 9 آذر 1393  12:39 AM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش ASP.NET

آموزش WebForm-کنترل ها

کنترل های سرور، تگ هایی هستند که توسط سرور قابل درک هستند.


محدودیت های ASP کلاسیک

لیست زیر، کپی کدهای آموزش قبلی است:

<html>
<body bgcolor="yellow">
<center>
<h2>Hello Beyamooz!</h2>
<p><%Response.Write(now())%></p>
</center>
</body>
</html>

کد بالا محدودیت ASP کلاسیک را نشان می دهد: بلوک کد بایستی جایی قرار گیرد که خروجی قرار است نمایش داده شود.

در ASP كلاسيك جدا سازی کدهای اجرایی از HTML امكان پذیر نیست. این خوانایی صفحات و نگهداری آن ها را دشوار می سازد.


کنترل های سرور ASP.NET

ASP.NET مشكل "spaghetti-code" كه در بالا شرح داده شد را با کنترل های سرور برطرف نموده است.

کنترل های سرور تگ هایی هستند که توسط سرور قابل درک هستند.

سه نوع کنترل سرور وجود دارد:

  • کنترل های سرور HTML - تگ های HTML قدیمی
  • کنترل های سرور وب - تگ های جدید ASP.NET
  • کنترل های سرور صحت سنجی - برای صحت سنجی ورودی ها

 کنترل های سرور HTML

کنترل های سرور HTML تگ های HTML ي هستند که به وسیله سرور قابل درک هستند.

عناصر HTML در ASP.NET به صورت پیشفرض، به عنوان متن در نظر گرفته می شوند. برای اینکه این عناصر را بتوان به صورت کدهای اجرایی در آورد، باید ويژگی " runat="server را به عنصر HTML اضافه كرد. این ویژگی مشخص می کند که عنصر باید به عنوان یک کنترل سرور در نظر گرفته شود.

ویژگی id براي مشخص كردن کنترل سرور به آن اضافه می شود. ارجاع به id مي تواند براي مدیریت و دستکاری کنترل در زمان اجرا استفاده شود.

نکته: تمام کنترل های سرور باید داخل یک تگ <form> با ويژگی runat="server" محصور باشند. ویژگی runat="server" نشان می دهد که فرم بایستی سمت سرور پردازش گردد. این فرم همچنین نشان می دهد که کنترل های محصور در آن می تواند توسط اسکریپت های سمت سرور دستیابی شوند.

در مثال زیر کنترل سرور HtmlAnchor در يك فايل aspx. تعريف شده است. بنابراین ما ویژگی Href از كنترل HtmlAnchor را در یک مدیریت رویداد دستکاری می کنیم (مدیریت رویداد تکه کدی است که برای یک رویداد اجرا می گردد). رویداد Page_Load يكي از رویدادهایی است که ASP.NET مي شناسد:

<script runat="server">
Sub Page_Load
link1.HRef="http://www.Beyamooz.com"
End Sub
</script>

<html>
<body>

<form runat="server">
<a id="link1" runat="server">Visit Beyamooz!</a>
</form>

</body>
</html>

کد قابل اجرا بنابراین به خارج از HTML انتقال يافت.


كنترل هاي سرور وب ASP.NET

كنترل هاي سرور وب تگ های مخصوصی هستند که توسط سرور قابل درک هستند.

مانند کنترل های سرور HTM، کنترل های سرور وب نیز، به ویژگی runat="server" نياز دارند تا سمت سرور کار کنند. با این وجود، کنترل های سرور وب لزوما به یک عنصر HTML موجود نگاشت نمی شوند و ممکن است اطلاعات پیچیده تری را نشان دهند.

گرامر ایجاد کنترل سرور وب عبارت است از:

<asp:control_name id="some_id" runat="server" />

در مثال زیر ابتدا یک دکمه را در یک فایل aspx. ایجاد کرده ایم. سپس یک مدیریت رویداد کلیک، برای تغییر دادن متن دکمه ایجاد کرده ایم:

<script runat="server">
Sub submit(Source As Object, e As EventArgs)
button1.Text="You clicked me!"
End Sub
</script>

<html>
<body>

<form runat="server">
<asp:Button id="button1" Text="Click me!"
runat="server" OnClick="submit"/>
</form>

</body>
</html>

کنترلهای صحت سنجی ASP.NET

کنترل های صحت سنجی، برای صحت سنجی ورودی کاربران استفاده می شود. اگر ورودی کاربر از صحت سنجی عبور نکرد، پیغام خطایی به کاربر نمایش داده می شود.

هر کنترل صحت سنجی نوع خاصی از صحت سنجی را به کار می گیرد (مانند صحت سنجی برای یک مقدار خاص یا محدوده ای از مقادیر).

به طور پیش فرض، صحت سنجی وقتی که روی یک دکمه، دکمه تصویری، یا دکمه لینکی کلیک شد، اجرا می گردد. شما می توانید هنگامی که یک کنترل دکمه کلیک شد با تنظیم ویژگی CauseValidation به مقدار false، از اجرای صحت سنجی ممانعت کنید.

گرامر ایجاد کنترل سرور صحت سنجی به صورت زیر است:

<asp:control_name id="some_id" runat="server" />

در مثال زیر یک کنترل TextBox، یک کنترل دکمه (Button) وي يك كنترل RangeValidator، در یک فایل aspx. تعریف کرده ایم. اگر صحت سنجی مردود شود، متن "مقدار باید بین 1 تا 100 باشد" در کنترل RangeValidator نمايش داده می شود.

مثال

<html>
<body>

<form runat="server">
<p>Enter a number from 1 to 100:
<asp:TextBox id="tbox1" runat="server" />
<br /><br />
<asp:Button Text="Submit" runat="server" />
</p>

<p>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="1"
MaximumValue="100"
Type="Integer"
Text="مقدار باید بین 1 تا 100 باشد"
runat="server" />
</p>
</form>

</body>
</html>

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

یک شنبه 9 آذر 1393  12:40 AM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش ASP.NET

آموزش WebForm-مفهوم Event

مدیریت رویداد، زیرروالی است که کدهایی را برای رویداد داده شده اجرا می نماید.


مدیریت رویداد ASP.NET

کدهای زیر را ملاحظه فرمایید:

<%
lbl1.Text="The date and time is " & now()
%>

<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
</form>
</body>
</html>

چه موقع کد بالا اجرا می شود؟ جواب: "شما نمی دانید..."


رویداد Page_Load

رویدادPage_Load یکی از چندین رویدادی است که ASP.NET درک می کند. رویداد Page_Load هنگامی که صفحه بارگذاری می شود اجرا می گردد، و ASP.NET به طور خودکار زیر روال Page_Load را فراخوانی می کند، و کدهای داخل آن را اجرا می کند.

مثال

<script runat="server">
Sub Page_Load
lbl1.Text="The date and time is " & now()
End Sub
</script>

<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
</form>
</body>
</html>

خروجي کد بالا:

The date and time is 1/18/2014 1:06:00 AM

نکته: داخل آرگومان های رویداد Page_Load به object یا آرگومان های رویداد ارجاعی وجود ندارد.


ویژگی Page.IsPostBack

زیرروال Page_Load هر بار كه صفحه بارگذاری می شود، اجرا می شود. اگر بخواهید کدداخل زیر روال Page_Load فقط اولین باری که صفحه بارگذاری می شود، اجرا گردد، از ویژگی Page.IsPostBack استفاده نمایید. اگر ویژگی Page.IsPostBack برابر fasle بود، صفحه برای اولین مرتبه بارگذاری شده است، اگر این ویژگی مقدار true داشت، صفحه به سمت سرور برگشت داده شده است (مثلا روی یک دکمه فرم کلیک شده است):

مثال

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
  lbl1.Text="The date and time is " & now()
end if
End Sub

Sub submit(s As Object, e As EventArgs)
lbl2.Text="Hello World!"
End Sub
</script>

<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
<h3><asp:label id="lbl2" runat="server" /></h3>
<asp:button text="Submit" onclick="submit" runat="server" />
</form>
</body>
</html>

خروجي کد بالا:

The date and time is 1/18/2014 1:06:35 AM

Hello World!

  

در مثال بالا فقط هنگامی که صفحه برای اولین مرتبه، بارگذاری می شود پیغام "The date and time is...." نمایش داده می شود. هنگامی که کاربر روی دکمه Submit کلیک می کند، زیر روال submit عبارت "Hello World!" را در دومین label می نویسد، اما زمان و تاریخ هیچ تغییری پیدا نمی کند.

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

یک شنبه 9 آذر 1393  12:41 AM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش ASP.NET

آموزش WebForm-مفهوم Form

تمام کنترل های سرور می بایستی داخل تگ <form> ظاهر شوند، و تگ <form> می بایست ویژگی runat="server" را داشته باشد.


WebForm ASP.NET

تمام کنترل های سرور می بایستی داخل تگ <form> ظاهر شوند، و تگ <form> می بایست ویژگی runat="server" را داشته باشد. ویژگی reunat="server" مشخص می کند که یک این فرم باید توسط سرور پردازش گردد. همچنین مشخص می کند که کنترل های محصور در این تگ می توانند توسط اسکریپت های سرور دستیابی شوند:

<form runat="server">

...HTML + server controls

</form>

نکته: فرم همیشه به صفحه خودش ارسال می شود. اگر ویژگی action را مشخص نمودید، نادیده گرفته می شود. اگر ویژگی method را حذف کردید، به طور پیش فرض method="post" در نظر گرفته می شود. همچنین اگر ويژگی های name و id را مشخص نکردید، به طور خودکار توسط ASP.NET مقدار دهی می شود.

نکته!: هر صفحه aspx. تنها حاوي يك كنترل <form runat="server"> است.

اگر view source یک صفحه ی aspx. را که حاوی فرمی است که ویژگی های id، action، method، يا name آن مقدار دهی نشده است را انتخاب نمایید، ملاحظه می فرمایید که ASP.NET اين ویژگی ها را به ASP.NET اضافه می نماید. مانند آنچه در زیر آمده است:

<form name="_ctl0" method="post" action="page.aspx" id="_ctl0">

...some code

</form>

ارسال یک فرم

یک فرم اغلب با کلیک روی یک دکمه ارسال می شود. کنترل سرور دکمه در ASP.NET دارای فرمت زیر است:

<asp:Button id="id" text="label" OnClick="sub" runat="server" />

ویژگی id یک نام منحصر به فرد را برای دکمه مشخص می کند و ویژگی text متنی که دکمه نشان می دهد را تعیین می کند. مدیریت رویداد onClick نام زیر روالی که باید پس از کلیک روی دکمه اجرا شود را مشخص می کند.

مثال

در مثال زیر یک کنترل دکمه در فایل aspx. تعریف کرده ایم. کلیک روی دکمه زیر روالی که متن دکمه را تغییر می دهد را اجرا می نماید.

مثال

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

یک شنبه 9 آذر 1393  12:42 AM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش ASP.NET

آموزش WebForm-مدیریت حالت

می توانید با استفاده از نگه داشتن ViewState یک شیء در کدنویسی صرفه جویی زیادی نمایید.


نگه داشتن ViewState

هنگامی که یک فرم در ASP کلاسیک، سمت سرور ارسال می شود، تمام مقادیر فرم پاک می شود. فرض کنید که فرمی با اطلاعات زیاد را به سمت سرور بفرستید و سرور یک خطا به شما بازگرداند. باید بازگردید و خطای فرم را برطرف نمایید. روی دکمه بازگشت کلیک می کنید، و تصور می کنید چه اتفاقی افتاده است. تمام مقادیری که به زحمت وارد کرده بودید، پاک شده است و باید از اول شروع به پر کردن فرم کنید. وبسایت ViewState شما را نگه نداشته است.

هنگامی که یک فرم در ASP.NET ارسال می شود، فرم در پنجره مرورگر با تمام مقادیر نمایش داده می شود. چگونه ممکن است؟ زیرا ASP.NET، در یک صفحه ViewState آن صفحه را نگه می دارد.

ViewState وضعيت صفحه، هنگامی که صفحه به سرور ارسال می شود، را نشان می دهد. وضعیت با یک سری فیلد مخفی که در هر صفحه بین کنترل <form runat="server"> قرار گرفته اند مشخص می شود. Source صفحه باید چیزی مشابه زیر باشد:

<form name="_ctl0" method="post" action="page.aspx" id="_ctl0">
<input type="hidden" name="__VIEWSTATE"
value="dDwtNTI0ODU5MDE1Ozs+ZBCF2ryjMpeVgUrY2eTj79HNl4Q=" />

.....some code

</form>

در فرم های ASP.NET به طور پیش فرض ViewState حفظ می شود. اگر بخواهید ViewState حفظ نشود، دایرکتیو <%@ Page EnableViewState="false" %> را به بالای صفحه اضافه کنید، یا ویژگی EnableViewState هر کنترل که قصد ندارید ViewState آن حفظ شود را false قرار دهید.

فایل aspx. زیر را ملاحظه فرمایید. روش قدیمی را نشان می دهد. هنگامی که روی یک دکمه کلیک می کنید، مقدار فرم ناپدید می شود.

مثال

<html>
<body>

<form action="demo_classicasp.aspx" method="post">
Your name: <input type="text" name="fname" size="20">
<input type="submit" value="Submit">
</form>
<%
dim fname
fname=Request.Form("fname")
If fname<>"" Then
Response.Write("Hello " & fname & "!")
End If
%>

</body>
</html>

در مثال زیر روش جدید ASP.NET آورده شده است. هنگامی که یک فرم ارسال می شود، مقادیر فرم ناپدید نمی شود.

مثال

<script runat="server">
Sub submit(sender As Object, e As EventArgs)
lbl1.Text="Hello " & txt1.Text & "!"
End Sub
</script>

<html>
<body>

<form runat="server">
Your name: <asp:TextBox id="txt1" runat="server" />
<asp:Button OnClick="submit" Text="Submit" runat="server" />
<p><asp:Label id="lbl1" runat="server" /></p>
</form>

</body>
</html>

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

یک شنبه 9 آذر 1393  12:42 AM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش ASP.NET

آموزش WebForm-مدیریت حالت

می توانید با استفاده از نگه داشتن ViewState یک شیء در کدنویسی صرفه جویی زیادی نمایید.


نگه داشتن ViewState

هنگامی که یک فرم در ASP کلاسیک، سمت سرور ارسال می شود، تمام مقادیر فرم پاک می شود. فرض کنید که فرمی با اطلاعات زیاد را به سمت سرور بفرستید و سرور یک خطا به شما بازگرداند. باید بازگردید و خطای فرم را برطرف نمایید. روی دکمه بازگشت کلیک می کنید، و تصور می کنید چه اتفاقی افتاده است. تمام مقادیری که به زحمت وارد کرده بودید، پاک شده است و باید از اول شروع به پر کردن فرم کنید. وبسایت ViewState شما را نگه نداشته است.

هنگامی که یک فرم در ASP.NET ارسال می شود، فرم در پنجره مرورگر با تمام مقادیر نمایش داده می شود. چگونه ممکن است؟ زیرا ASP.NET، در یک صفحه ViewState آن صفحه را نگه می دارد.

ViewState وضعيت صفحه، هنگامی که صفحه به سرور ارسال می شود، را نشان می دهد. وضعیت با یک سری فیلد مخفی که در هر صفحه بین کنترل <form runat="server"> قرار گرفته اند مشخص می شود. Source صفحه باید چیزی مشابه زیر باشد:

<form name="_ctl0" method="post" action="page.aspx" id="_ctl0">
<input type="hidden" name="__VIEWSTATE"
value="dDwtNTI0ODU5MDE1Ozs+ZBCF2ryjMpeVgUrY2eTj79HNl4Q=" />

.....some code

</form>

در فرم های ASP.NET به طور پیش فرض ViewState حفظ می شود. اگر بخواهید ViewState حفظ نشود، دایرکتیو <%@ Page EnableViewState="false" %> را به بالای صفحه اضافه کنید، یا ویژگی EnableViewState هر کنترل که قصد ندارید ViewState آن حفظ شود را false قرار دهید.

فایل aspx. زیر را ملاحظه فرمایید. روش قدیمی را نشان می دهد. هنگامی که روی یک دکمه کلیک می کنید، مقدار فرم ناپدید می شود.

مثال

<html>
<body>

<form action="demo_classicasp.aspx" method="post">
Your name: <input type="text" name="fname" size="20">
<input type="submit" value="Submit">
</form>
<%
dim fname
fname=Request.Form("fname")
If fname<>"" Then
Response.Write("Hello " & fname & "!")
End If
%>

</body>
</html>

در مثال زیر روش جدید ASP.NET آورده شده است. هنگامی که یک فرم ارسال می شود، مقادیر فرم ناپدید نمی شود.

مثال

<script runat="server">
Sub submit(sender As Object, e As EventArgs)
lbl1.Text="Hello " & txt1.Text & "!"
End Sub
</script>

<html>
<body>

<form runat="server">
Your name: <asp:TextBox id="txt1" runat="server" />
<asp:Button OnClick="submit" Text="Submit" runat="server" />
<p><asp:Label id="lbl1" runat="server" /></p>
</form>

</body>
</html>

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

یک شنبه 9 آذر 1393  12:43 AM
تشکرات از این پست
parisaexp
parisaexp
کاربر نقره ای
تاریخ عضویت : مهر 1392 
تعداد پست ها : 888
محل سکونت : اصفهان

پاسخ به:آموزش ASP.NET

آموزش WebForm-کنترل TextBox

کنترل TextBox برای ایجاد فیلدهای متنی که در آن کاربر مقدار وارد می نماید استفاده می شود.


کنترل TextBox

کنترل TextBox برای ایجاد فیلدهای متنی که در آن کاربر مقدار وارد می نماید استفاده می شود.

ویژگی های کنترل TextBox در بیاموز web controls reference page لیست گردیده است.

مثال زیر برخی از ویژگی هایی که شما ممکن است با کنترل TextBox استفاده نمایید را نشان می دهد:

مثال

<html>
<body>

<form runat="server">

A basic TextBox:
<asp:TextBox id="tb1" runat="server" />
<br /><br />

A password TextBox:
<asp:TextBox id="tb2" TextMode="password" runat="server" />
<br /><br />

A TextBox with text:
<asp:TextBox id="tb4" Text="Hello World!" runat="server" />
<br /><br />

A multiline TextBox:
<asp:TextBox id="tb3" TextMode="multiline" runat="server" />
<br /><br />

A TextBox with height:
<asp:TextBox id="tb6" rows="5" TextMode="multiline"
runat="server" />
<br /><br />

A TextBox with width:
<asp:TextBox id="tb5" columns="30" runat="server" />

</form>

</body>
</html>

خروجي کد بالا:

A basic TextBox:  

A password TextBox:  

A TextBox with text:  

A multiline TextBox:  

A TextBox with height:  

A TextBox with width:   

افزودن اسکریپت

محتوا و تنظیمات یک کنترل TextBox ممکن است توسط اسکریپت های سمت سرور، هنگامی که یک فرم به سرور ارسال می شود تغییر پیدا می کند.

در مثال زیر، ما یک کنترل TextBox، یک کنترل دکمه،  و یک کنترل label در یک فایل aspx. تعریف کرده ایم. هنگامی که روی دکمه کلیک می کنیم، زیر روال مربوط به رویداد دکمه اجرا می شود. زیرروال submit متنی را در کنترل label می نویسد.

مثال

<script runat="server">
Sub submit(sender As Object, e As EventArgs)
lbl1.Text="Your name is " & txt1.Text
End Sub
</script>

<html>
<body>

<form runat="server">
Enter your name:
<asp:TextBox id="txt1" runat="server" />
<asp:Button OnClick="submit" Text="Submit" runat="server" />
<p><asp:Label id="lbl1" runat="server" /></p>
</form>

</body>
</html>

خروجي کد بالا:

  Enter your name:  

در مثال زیر، ما یک کنترل TextBox، یک کنترل دکمه،  و یک کنترل label در یک فایل aspx. تعریف کرده ایم. هنگامی که مقدار TextBox تغییر پیدا کرد و سپس در جایی خارج از  TextBox کلیک شد یا کلید Tab فشرده شد (تا فوکس از TextBox برداشته شود) زیر روال change اجرا می شود. این زیر روال متن را داخل یک کنترل Label می نویسد 

مثال

<script runat="server">
Sub change(sender As Object, e As EventArgs)
lbl1.Text="You changed text to " & txt1.Text
End Sub
</script>

<html>
<body>

<form runat="server">
Enter your name:
<asp:TextBox id="txt1" runat="server"
text="Hello World!"
ontextchanged="change" autopostback="true"/>
<p><asp:Label id="lbl1" runat="server" /></p>
</form>

</body>
</html>

خروجي کد بالا:

  Change text 
 
 

 

لِکُلِّ شَیْ‏ءٍ زَکَاةٌ وَ زَکَاةُ الْعَقْلِ احْتِمَالُ الْجُهَّال‏

برای هر چیزی زکاتیست و زکات عقل تحمّل نادانان است.

یک شنبه 9 آذر 1393  12:44 AM
تشکرات از این پست
دسترسی سریع به انجمن ها