0

آموزش ASP.NET

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

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

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

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


کنترل دکمه

کنترل دکمه برای نمایش یک push button استفاده می شود. push button ممکن است یک دکمه ارسال باشد یا یک دکمه command. به طور پیش فرض، این کنترل یک دکمه ارسال است.

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

دکمه command، نام command دارد و به شما اجازه می دهد که چندین کنترل دکمه روی یک صفحه ایجاد کنید.

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

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

<html>
<body>

<form runat="server">
<asp:Button id="b1" Text="Submit" runat="server" />
</form>

</body>
</html>

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

هنگامی که روی یک دکمه ذاخل فرم کلیک می شود، اغلب آن فرم سمت سرور ارسال می شود.

در مثال زیر ما یک کنترل TextBox، یک کنترل دکمه و یک کنترل Label را در فایل aspx. تعریف کرده ایم. هنگامی که دکمه کلیک می شود، زیرروال submit اجرا می شود. زیرروال 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:  
 

 

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

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

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

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

آموزش WebForm-اتصال داده

ممکن است از data binding برای پر کردن لیستی از آیتم های قابل انتخاب از یک data source مانند پایگاه داده، فایل XML یا یک اسکریپت، استفاده کنیم.


Data Binding

کنترل های زیر کنترل های لیستی هستند که data binding را پشتیبانی می کنند:

  • asp:RadioButtonList
  • asp:CheckBoxList
  • asp:DropDownList
  • asp:Listbox

عناصر قابل انتخاب در هر یک از کنترل های بالا معمولا توسط یک یا چند کنترل asp:ListItem  تعریف می شوند، مانند آنچه در زیر آمده است:

<html>
<body>

<form runat="server">
<asp:RadioButtonList id="countrylist" runat="server">
<asp:ListItem value="N" text="Norway" />
<asp:ListItem value="S" text="Sweden" />
<asp:ListItem value="F" text="France" />
<asp:ListItem value="I" text="Italy" />
</asp:RadioButtonList>
</form>

</body>
</html>

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

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

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

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

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

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

آموزش WebForm-شیء ArrayList

شیء ArrayList، مجموعه ای از آیتم هاست که هر کدام از این آیتم ها دارای داده هستند.


ایجاد یک ArrayList

شیء ArrayList، مجموعه ای از آیتم هاست که هر کدام از این آیتم ها دارای داده هستند.

آیتم ها با استفاده از متد ()Add به ArrayList اضافه می شوند.

کد زیر یک شیء جدید ArrayList با عنوان mycountries ایجاد می کند و چهار آیتم به آن اضافه می کند:

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New ArrayList
  mycountries.Add("Norway")
  mycountries.Add("Sweden")
  mycountries.Add("France")
  mycountries.Add("Italy")
end if
end sub
</script>

به طور پیش فرض، هر شیء حاوی 16 ورودی است. شیء ArrayList می تواند تا آخرین اندازه خود، با استفاده از متد ()TrimToSize سایز دهی شود:

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New ArrayList
  mycountries.Add("Norway")
  mycountries.Add("Sweden")
  mycountries.Add("France")
  mycountries.Add("Italy")
  mycountries.TrimToSize()
end if
end sub
</script>

ArrayList همچنین می تواند از روی حروف الفبا یا بر اساس عدد با استفاده از متد ()Sort مرتب شود:

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New ArrayList
  mycountries.Add("Norway")
  mycountries.Add("Sweden")
  mycountries.Add("France")
  mycountries.Add("Italy")
  mycountries.TrimToSize()
  mycountries.Sort()
end if
end sub
</script>

برای مرتب سازی در جهت عکس، می توان از متد ()Reverse بعد از متد ()Sort استفاده کرد:

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New ArrayList
  mycountries.Add("Norway")
  mycountries.Add("Sweden")
  mycountries.Add("France")
  mycountries.Add("Italy")
  mycountries.TrimToSize()
  mycountries.Sort()
  mycountries.Reverse()
end if
end sub
</script>

اتصال داده ها به یک ArrayList

شیء ArrayList ممکن است به صورت اتوماتیک، متن و مقادیر را برای کنترل های زیر تولید کند:

  • asp:RadioButtonList
  • asp:CheckBoxList
  • asp:DropDownList
  • asp:Listbox

برای اتصال کنترل RadioButtonList، ابتدا یک کنترل RadioButtonList (بدون استفاده از عنصر asp:ListItem) در یک صفحه aspx. ایجاد فرمایید:

<html>
<body>

<form runat="server">
<asp:RadioButtonList id="rb" runat="server" />
</form>

</body>
</html>

سپس اسکریپتی برای ایجاد لیست و اتصال مقادیر لیست به کنترل RadioButtonList ایجاد نمایید:

مثال

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New ArrayList
  mycountries.Add("Norway")
  mycountries.Add("Sweden")
  mycountries.Add("France")
  mycountries.Add("Italy")
  mycountries.TrimToSize()
  mycountries.Sort()
  rb.DataSource=mycountries
  rb.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat="server">
<asp:RadioButtonList id="rb" runat="server" />
</form>

</body>
</html>

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

ویژگی DataSource کنترل RaioButtonList، معادل ArrayList تنظیم شد و به عنوان منبع داده (data source) کنترل RadioButtonList تعریف شد.

متد ()DataBind کنترل RadioButtonList منبع داده (data source) را به کنترل RadioButtonList متصل می کند.

نکته: مقادیر استفاده شده هم به عنوان متن و هم به عنوان مقدار کنترل استفاده شده است. برای افزودن مقادیری که از متن مجزا هستند، هم می توان از HashTable استفاده کرد و هم از شیء SortedList.

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

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

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

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

آموزش WebForm-شیء Hashtable

شیء HashTable حاوی آیتم هایی به صورت Key/Value می باشد.


ایجاد یک Hashtable

شیء HashTable حاوی آیتم هایی به صورت Key/Value می باشد.

کلیدها به عنوان اندیس استفاده می شوند، و جستجوی خیلی سریعی روی مقادیر می تواند از طریق جستجوی کلیدها انجام شود.

آیتم ها با استفاده از متد ()ADD به Hashtable اضافه می گردند.

کد زیر یک HashTable با نام mycountries ایجاد می کند و چهار عنصر به آن اضافه می کند:

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New Hashtable
  mycountries.Add("N","Norway")
  mycountries.Add("S","Sweden")
  mycountries.Add("F","France")
  mycountries.Add("I","Italy")
end if
end sub
</script>

Data Binding

شیء Hashtable ممکن است به صورت اتوماتیک، متن و مقادیر را برای کنترل های زیر ایجاد کند:

  • asp:RadioButtonList
  • asp:CheckBoxList
  • asp:DropDownList
  • asp:Listbox

برای اتصال یک کنترل RadioButtonList، ابتدا یک کنترل RadioButtonList (بدون استفاده از عنصر asp:ListItem) در یک صفحه aspx. ایجاد فرمایید:

<html>
<body>

<form runat="server">
<asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" />
</form>

</body>
</html>

سپس اسکریپتی ایجاد نمایید که لیست را ایجاد می نماید:

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New Hashtable
  mycountries.Add("N","Norway")
  mycountries.Add("S","Sweden")
  mycountries.Add("F","France")
  mycountries.Add("I","Italy")
  rb.DataSource=mycountries
  rb.DataValueField="Key"
  rb.DataTextField="Value"
  rb.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat="server">
<asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" />
</form>

</body>
</html>

سپس زیرروالی را به کد اضافه می کنیم تا هنگامی که کاربر روی یک عنصر در کنترل RadioButtonList کلیک می کند، اجرا شود. هنگامی که دکمه رادیویی کلیک شد، متنی در label ظاهر می شود:

مثال

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New Hashtable
  mycountries.Add("N","Norway")
  mycountries.Add("S","Sweden")
  mycountries.Add("F","France")
  mycountries.Add("I","Italy")
  rb.DataSource=mycountries
  rb.DataValueField="Key"
  rb.DataTextField="Value"
  rb.DataBind()
end if
end sub

sub displayMessage(s as Object,e As EventArgs)
lbl1.text="Your favorite country is: " & rb.SelectedItem.Text
end sub
</script>

<html>
<body>

<form runat="server">
<asp:RadioButtonList id="rb" runat="server"
AutoPostBack="True" onSelectedIndexChanged="displayMessage" />
<p><asp:label id="lbl1" runat="server" /></p>
</form>

</body>
</html>

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

نکته: شما نمی توانید عناصری که به یک Hashtable اضافه شده است را مرتب کنید. برای مرتب سازی عناصر از روی حروف الفبا یا بر اساس عدد، از SortedList استفاده نمایید.

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

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

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

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

آموزش WebForm-شیء SortedLit

شیء SortedList ویژگی های شیء ArrayList و شیء Hashtable را ترکیب می کند.


شیء SortedList

شیء SortedList حاوی عناصری به صورت زوج Key/Value می باشد. شیء SortedList عناصر را از روی الفبا یا به صورت عددی به صورت اتوماتیک، مرتب می کند.

عناصر با استفاده از متد ()Add به SortedList اضافه می شوند. یک SortedList می تواند تا آخرین اندازه خود، با استفاده از متد ()TrimToSize سایز دهی شود.

کد زیر شیء SortedList ی با نام mycountries ایجاد می کند و چهار عنصر به آن اضافه می کند.

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New SortedList
  mycountries.Add("N","Norway")
  mycountries.Add("S","Sweden")
  mycountries.Add("F","France")
  mycountries.Add("I","Italy")
end if
end sub
</script>

Data Binding

شیء SortedList ممکن است به صورت اتوماتیک، متن و مقادیر را برای کنترل های زیر تولید کند:

  • asp:RadioButtonList
  • asp:CheckBoxList
  • asp:DropDownList
  • asp:Listbox

برای اتصال کنترل RadioButtonList، ابتدا یک کنترل RadioButtonList (بدون استفاده از عنصر asp:ListItem) در یک صفحه aspx. ایجاد فرمایید:

<html>
<body>

<form runat="server">
<asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" />
</form>

</body>
</html>

سپس اسکریپتی را برای ایجاد لیست اضافه نمایید:

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New SortedList
  mycountries.Add("N","Norway")
  mycountries.Add("S","Sweden")
  mycountries.Add("F","France")
  mycountries.Add("I","Italy")
  rb.DataSource=mycountries
  rb.DataValueField="Key"
  rb.DataTextField="Value"
  rb.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat="server">
<asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" />
</form>

</body>
</html>

سپس زیرروالی را به کد اضافه می کنیم تا هنگامی که کاربر روی یک عنصر در کنترل RadioButtonList کلیک می کند، اجرا شود. هنگامی که دکمه رادیویی کلیک شد، متنی در label ظاهر می شود:

مثال

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New SortedList
  mycountries.Add("N","Norway")
  mycountries.Add("S","Sweden")
  mycountries.Add("F","France")
  mycountries.Add("I","Italy")
  rb.DataSource=mycountries
  rb.DataValueField="Key"
  rb.DataTextField="Value"
  rb.DataBind()
end if
end sub

sub displayMessage(s as Object,e As EventArgs)
lbl1.text="Your favorite country is: " & rb.SelectedItem.Text
end sub
</script>

<html>
<body>

<form runat="server">
<asp:RadioButtonList id="rb" runat="server"
AutoPostBack="True" onSelectedIndexChanged="displayMessage" />
<p><asp:label id="lbl1" runat="server" /></p>
</form>

</body>
</html>

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

 

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

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

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

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

آموزش WebForm-فایل XML

می توانیم فایل XML را به کنترل های انتخابی متصل کنیم.


فایل XML

در تکه کد زیر یک فایل XML با نام "countries.xml" را ملاحظه می فرمایید.

<?xml version="1.0" encoding="ISO-8859-1"?>

<countries>

<country>
  <text>Norway</text>
  <value>N</value>
</country>

<country>
  <text>Sweden</text>
  <value>S</value>
</country>

<country>
  <text>France</text>
  <value>F</value>
</country>

<country>
  <text>Italy</text>
  <value>I</value>
</country>

</countries>

فایل countries.xml را ملاحظه فرمایید.


اتصال یک DataSet به کنترل انتخابی

ابتدا فضای نام "System.Data" را وارد نمایید. به این فضای نام برای کار با شیء DataSet نیاز داریم. دایرکتیو زیر را به بالای یک صفحه aspx. وارد نمایید.

<%@ Import Namespace="System.Data" %>

در مرحله بعد، یک DataSet برای فایل XML ایجاد نمایید و هنگامی که صفحه بارگذاری شد، فایل XML را درون DataSet بارگذاری نمایید.

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New DataSet
  mycountries.ReadXml(MapPath("countries.xml"))
end if
end sub

برای اتصال یک کنترل RadioButtonList، ابتدا یک کنترل RadioButtonList (بدون استفاده از عنصر asp:ListItem) در یک صفحه aspx. ایجاد فرمایید:

<html>
<body>

<form runat="server">
<asp:RadioButtonList id="rb" runat="server" AutoPostBack="True" />
</form>

</body>
</html>

سپس اسکریپتی ایجاد نمایید که XML DataSet را ایجاد می نماید:

<%@ Import Namespace="System.Data" %>

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New DataSet
  mycountries.ReadXml(MapPath("countries.xml"))
  rb.DataSource=mycountries
  rb.DataValueField="value"
  rb.DataTextField="text"
  rb.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat="server">
<asp:RadioButtonList id="rb" runat="server"
AutoPostBack="True" onSelectedIndexChanged="displayMessage" />
</form>

</body>
</html>

سپس زیرروالی را به کد اضافه می کنیم تا هنگامی که کاربر روی عنصری در کنترل RadioButtonList کلیک می کند، اجرا شود. هنگامی که دکمه رادیویی کلیک شد، متنی در label ظاهر می شود

مثال

<%@ Import Namespace="System.Data" %>

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycountries=New DataSet
  mycountries.ReadXml(MapPath("countries.xml"))
  rb.DataSource=mycountries
  rb.DataValueField="value"
  rb.DataTextField="text"
  rb.DataBind()
end if
end sub

sub displayMessage(s as Object,e As EventArgs)
lbl1.text="Your favorite country is: " & rb.SelectedItem.Text
end sub
</script>

<html>
<body>

<form runat="server">
<asp:RadioButtonList id="rb" runat="server"
AutoPostBack="True" onSelectedIndexChanged="displayMessage" />
<p><asp:label id="lbl1" runat="server" /></p>
</form>

</body>
</html>

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

 

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

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

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

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

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

کنترل Repeater برای نمایش لیستی از آیتم های تکراری استفاده می شوند که به یک کنترل متصل می شوند.


اتصال یک DataSet به یک کنترل Repeater

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


 ما از فایل XML زیر در مثال های این آموزش استفاده کرده ایم ("cdcatalog.xml")

<?xml version="1.0" encoding="ISO-8859-1"?>

<catalog>
<cd>
  <title>Empire Burlesque</title>
  <artist>Bob Dylan</artist>
  <country>USA</country>
  <company>Columbia</company>
  <price>10.90</price>
  <year>1985</year>
</cd>
<cd>
  <title>Hide your heart</title>
  <artist>Bonnie Tyler</artist>
  <country>UK</country>
  <company>CBS Records</company>
  <price>9.90</price>
  <year>1988</year>
</cd>
<cd>
  <title>Greatest Hits</title>
  <artist>Dolly Parton</artist>
  <country>USA</country>
  <company>RCA</company>
  <price>9.90</price>
  <year>1982</year>
</cd>
<cd>
  <title>Still got the blues</title>
  <artist>Gary Moore</artist>
  <country>UK</country>
  <company>Virgin records</company>
  <price>10.20</price>
  <year>1990</year>
</cd>
<cd>
  <title>Eros</title>
  <artist>Eros Ramazzotti</artist>
  <country>EU</country>
  <company>BMG</company>
  <price>9.90</price>
  <year>1997</year>
</cd>
</catalog>

ابتدا فضای نام "System.Data" را وارد نمایید. به این فضای نام برای کار با شیء DataSet نیاز داریم. دایرکتیو زیر را به بالای یک صفحه aspx. وارد نمایید.

<%@ Import Namespace="System.Data" %>

در مرحله بعد، یک DataSet برای فایل XML ایجاد نمایید و هنگامی که صفحه بارگذاری شد، فایل XML را درون DataSet بارگذاری نمایید.

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycdcatalog=New DataSet
  mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
end if
end sub

در ادامه، یک کنترل Repeater در صفحه aspx. اضافه می کنیم. محتوای عنصر <HeaderTemplate> تنها یک بار و اولین بار با خروجی پر می شود، سپس محتوای عنصر <ItemTemplate> به ازای هر رکورد در DataSet، تکمیل می شود، و در نهایت محتوای عنصر <FooterTemplate> یکبار با خروجی پر می شود.

<html>
<body>

<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">

<HeaderTemplate>
...
</HeaderTemplate>

<ItemTemplate>
...
</ItemTemplate>

<FooterTemplate>
...
</FooterTemplate>

</asp:Repeater>
</form>

</body>
</html> ب

سپس اسکریپتی برای ایجاد DataSet اضافه می کنیم و mycdcatalog DataSet را به کنترل Repeater متصل می کنیم. همچنین کنترل Repeater را با تگ های Html پر می کنیم و آیتم ها را با استفاده از <% ("Container.DataItem("fieldname#%> به بخش <ItemTemplate> متصل می کنیم.

مثال

<%@ Import Namespace="System.Data" %>

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycdcatalog=New DataSet
  mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
  cdcatalog.DataSource=mycdcatalog
  cdcatalog.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">

<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
</form>

</body>
</html>

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

Title Artist Company Price
Empire Burlesque  Bob Dylan  Columbia  10.90 
Hide your heart  Bonnie Tyler  CBS Records  9.90 
Greatest Hits  Dolly Parton  RCA  9.90 
Still got the blues  Gary Moore  Virgin records  10.20 
Eros  Eros Ramazzotti  BMG  9.90 

استفاده از <AlternatingItemTemplate>

می توانیم از عنصر <AlternatingItemTemplate> بعد از عنصر <ItemTemplate> استفاده کنیم تا در رابطه با ظاهر ردیف های خروجی توضیح دهیم. در مثال زیر هر ردیف جدول با رنگ خاکستری کم رنگ نمایش داده می شود:

مثال

<%@ Import Namespace="System.Data" %>

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycdcatalog=New DataSet
  mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
  cdcatalog.DataSource=mycdcatalog
  cdcatalog.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">

<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>

<AlternatingItemTemplate>
<tr bgcolor="#e8e8e8">
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</AlternatingItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
</form>

</body>
</html>

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

Title Artist Company Price
Empire Burlesque  Bob Dylan  Columbia  10.90 
Hide your heart  Bonnie Tyler  CBS Records  9.90 
Greatest Hits  Dolly Parton  RCA  9.90 
Still got the blues  Gary Moore  Virgin records  10.20 
Eros  Eros Ramazzotti  BMG  9.90 

استفاده از <SeparatorTemplate>

تگ <SeparatorTemplate> می تواند برای ایجاد یک جدا کننده بین هر رکورد استفاده شود. مثال زیر نحوه درج یک خط افقی بین هر ردیف جدول را نمایش می دهد:

مثال

<%@ Import Namespace="System.Data" %>

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycdcatalog=New DataSet
  mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
  cdcatalog.DataSource=mycdcatalog
  cdcatalog.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat="server">
<asp:Repeater id="cdcatalog" runat="server">

<HeaderTemplate>
<table border="0" width="100%">
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem("title")%></td>
<td><%#Container.DataItem("artist")%></td>
<td><%#Container.DataItem("country")%></td>
<td><%#Container.DataItem("company")%></td>
<td><%#Container.DataItem("price")%></td>
<td><%#Container.DataItem("year")%></td>
</tr>
</ItemTemplate>

<SeparatorTemplate>
<tr>
<td colspan="6"><hr /></td>
</tr>
</SeparatorTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
</form>

</body>
</html>

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

Title Artist Company Price
Empire Burlesque  Bob Dylan  Columbia  10.90 

Hide your heart  Bonnie Tyler  CBS Records  9.90 

Greatest Hits  Dolly Parton  RCA  9.90 

Still got the blues  Gary Moore  Virgin records  10.20 

Eros  Eros Ramazzotti  BMG  9.90 

 

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

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

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

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

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

کنترل DataList، مانند کنترل Repeater، برای نمایش لیستی از آیتم های تکراری استفاده می شوند که به یک کنترل متصل می شوند. با این وجود، کنترل DataList، داده ها را به صورت پیش فرض در یک جدول قرار می دهد.


اتصال یک DataSet به کنترل Datalist

کنترل DataList، مانند کنترلRepeater، برای نمایش لیستی از آیتم های تکراری استفاده می شوند که به یک کنترل متصل می شوند. با این وجود کنترل DataList، داده ها را به صورت پیش فرض در یک جدول قرار می دهد. کنترل DataList ممکن است به یک جدول پایگاه داده، یک فایل XML، یا هر لیستی از آیتم ها متصل شود. در این آموزش، نحوه اتصال یک فایل XML را به کنترل DataList نشان خواهیم داد.


از فایل XML زیر در مثال های این آموزش استفاده کرده ایم ("cdcatalog.xml")

<?xml version="1.0" encoding="ISO-8859-1"?>

<catalog>
<cd>
  <title>Empire Burlesque</title>
  <artist>Bob Dylan</artist>
  <country>USA</country>
  <company>Columbia</company>
  <price>10.90</price>
  <year>1985</year>
</cd>
<cd>
  <title>Hide your heart</title>
  <artist>Bonnie Tyler</artist>
  <country>UK</country>
  <company>CBS Records</company>
  <price>9.90</price>
  <year>1988</year>
</cd>
<cd>
  <title>Greatest Hits</title>
  <artist>Dolly Parton</artist>
  <country>USA</country>
  <company>RCA</company>
  <price>9.90</price>
  <year>1982</year>
</cd>
<cd>
  <title>Still got the blues</title>
  <artist>Gary Moore</artist>
  <country>UK</country>
  <company>Virgin records</company>
  <price>10.20</price>
  <year>1990</year>
</cd>
<cd>
  <title>Eros</title>
  <artist>Eros Ramazzotti</artist>
  <country>EU</country>
  <company>BMG</company>
  <price>9.90</price>
  <year>1997</year>
</cd>
</catalog>

فایل XML فوق را از اینجا دانلود نمایید: cdcatalog.xml

ابتدا فضای نام "System.Data" را وارد نمایید. به این فضای نام برای کار با شیء DataSet نیاز داریم. دایرکتیو زیر را به بالای یک صفحه aspx. وارد نمایید.

<%@ Import Namespace="System.Data" %>

در مرحله بعد، یک DataSet برای فایل XML ایجاد نمایید و هنگامی که صفحه بارگذاری شد، فایل XML را درون DataSet بارگذاری نمایید.

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycdcatalog=New DataSet
  mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
end if
end sub

در ادامه، یک کنترل DataList در صفحه aspx. اضافه می کنیم. محتوای عنصر <HeaderTemplate> تنها یک بار و اولین بار با خروجی پر می شود، سپس محتوای عنصر <ItemTemplate> به ازای هر "record" در DataSet، تکمیل می شود، و در نهایت محتوای عنصر <FooterTemplate> یکبار با خروجی پر می شود.

<html>
<body>

<form runat="server">
<asp:DataList id="cdcatalog" runat="server">

<HeaderTemplate>
...
</HeaderTemplate>

<ItemTemplate>
...
</ItemTemplate>

<FooterTemplate>
...
</FooterTemplate>

</asp:DataList>
</form>

</body>
</html>

سپس اسکریپتی برای ایجاد DataSet اضافه می کنیم و mycdcatalog DataSet را به کنترل DataList متصل می کنیم. همچنین کنترل DataList را با تگ های <HeaderTemplate> که حاوی عنوان جدول می باشد، و با استفاده از <ItemTemplate> که حاوی داده هایی است که بایستی نمایش داده شود، و <FooterTemplate> که حاوی متن است پر می کنیم. توجه فرمایید که ویژگی gridline کنترل Dataset معادل "both" قرار داده شده است تا حاشیه های جدول را نمایش دهد.

مثال

<%@ Import Namespace="System.Data" %>

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycdcatalog=New DataSet
  mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
  cdcatalog.DataSource=mycdcatalog
  cdcatalog.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat="server">
<asp:DataList id="cdcatalog"
gridlines="both" runat="server">

<HeaderTemplate>
My CD Catalog
</HeaderTemplate>

<ItemTemplate>
"<%#Container.DataItem("title")%>" of
<%#Container.DataItem("artist")%> -
$<%#Container.DataItem("price")%>
</ItemTemplate>

<FooterTemplate>
Copyright Hege Refsnes
</FooterTemplate>

</asp:DataList>
</form>

</body>
</html>

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

My CD Catalog
"Empire Burlesque" of Bob Dylan - $10.90
"Hide your heart" of Bonnie Tyler - $9.90
"Greatest Hits" of Dolly Parton - $9.90
"Still got the blues" of Gary Moore - $10.20
"Eros" of Eros Ramazzotti - $9.90
© Hege Refsnes

استفاده از استایل

می توانید برای اینکه خروجی را زیباتر نمایید، به کنترل DataList استایل اضافه نمایید:

مثال

<%@ Import Namespace="System.Data" %>

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
  dim mycdcatalog=New DataSet
  mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
  cdcatalog.DataSource=mycdcatalog
  cdcatalog.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat="server">
<asp:DataList id="cdcatalog"
runat="server"
cellpadding="2"
cellspacing="2"
borderstyle="inset"
backcolor="#e8e8e8"
width="100%"
headerstyle-font-name="Verdana"
headerstyle-font-size="12pt"
headerstyle-horizontalalign="center"
headerstyle-font-bold="true"
itemstyle-backcolor="#778899"
itemstyle-forecolor="#ffffff"
footerstyle-font-size="9pt"
footerstyle-font-italic="true">

<HeaderTemplate>
My CD Catalog
</HeaderTemplate>

<ItemTemplate>
"<%#Container.DataItem("title")%>" of
<%#Container.DataItem("artist")%> -
$<%#Container.DataItem("price")%>
</ItemTemplate>

<FooterTemplate>
Copyright Hege Refsnes
</FooterTemplate>

</asp:DataList>
</form>

</body>
</html>

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

My CD Catalog
"Empire Burlesque" of Bob Dylan - $10.90
"Hide your heart" of Bonnie Tyler - $9.90
"Greatest Hits" of Dolly Parton - $9.90
"Still got the blues" of Gary Moore - $10.20
"Eros" of Eros Ramazzotti - $9.90
© Hege Refsnes

استفاده از <AlternatingItemTemplate>

می توانیم از عنصر <AlternatingItemTemplate> بعد از عنصر <ItemTemplate> استفاده کنیم تا در رابطه با ظاهر ردیف های خروجی توضیح دهیم. شما ممکن است به داده های بخش <AlternatingItemTemplate> استایل اضافه نمایید:

مثال

<%@ Import Namespace="System.Data" %>

<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath("cdcatalog.xml"))
cdcatalog.DataSource=mycdcatalog
cdcatalog.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat="server">
<asp:DataList id="cdcatalog"
runat="server"
cellpadding="2"
cellspacing="2"
borderstyle="inset"
backcolor="#e8e8e8"
width="100%"
headerstyle-font-name="Verdana"
headerstyle-font-size="12pt"
headerstyle-horizontalalign="center"
headerstyle-font-bold="True"
itemstyle-backcolor="#778899"
itemstyle-forecolor="#ffffff"
alternatingitemstyle-backcolor="#e8e8e8"
alternatingitemstyle-forecolor="#000000"
footerstyle-font-size="9pt"
footerstyle-font-italic="True">

<HeaderTemplate>
My CD Catalog
</HeaderTemplate>

<ItemTemplate>
"<%#Container.DataItem("title")%>" of
<%#Container.DataItem("artist")%> -
$<%#Container.DataItem("price")%>
</ItemTemplate>

<AlternatingItemTemplate>
"<%#Container.DataItem("title")%>" of
<%#Container.DataItem("artist")%> -
$<%#Container.DataItem("price")%>
</AlternatingItemTemplate>

<FooterTemplate>
&copy; Hege Refsnes
</FooterTemplate>

</asp:DataList>
</form>

</body>
</html>

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

My CD Catalog
"Empire Burlesque" of Bob Dylan - $10.90
"Hide your heart" of Bonnie Tyler - $9.90
"Greatest Hits" of Dolly Parton - $9.90
"Still got the blues" of Gary Moore - $10.20
"Eros" of Eros Ramazzotti - $9.90
© Hege Refsnes

 

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

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

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

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

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

ADO.NET قسمتی از NET Framework. است. ADO.NET برای مدیریت دستیابی به داده استفاده می شود. با استفاده از ADO.NET می توانید با پایگاه داده کار کنید.


ADO.NET چیست؟

  • ADO.NET بخشی از  NET Framwork. است
  • ADO.NET حاوی یک سری کلاس است که برای مدیریت دستیابی داده استفاده می شوند
  • ADO.NET تماما بر مبنای XML است
  • ADO.NET، برخلاف ADO، شیء Recordset ندارد

ایجاد اتصال پایگاه داده

در این آموزش قصد داریم از پایگاه داده Northwind در مثال ها استفاده کنیم.

ابتدا فضای نام "System.Data.OleDB" را وارد نمایید. به این فضای نام برای کار با Microsoft Access و سایر سرویس دهنده های OLEDB نیاز داریم.

سپس  اتصالی به پایگاه داده در زیرروال Page_Load ایجاد می کنیم.

متغیر dbconn را، به عنوان یک شیء از کلاس OleDbConnection با استفاده از رشته اتصالی که سرویس دهنده OLE DB و محل پایگاه داده را مشخص می کند، تعریف می کنیم.

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

<%@ Import Namespace="System.Data.OleDb" %>

<script runat="server">
sub Page_Load
dim dbconn
dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
data source=" & server.mappath("northwind.mdb"))
dbconn.Open()
end sub
</script>

نکته: رشته اتصال می بایست یک رشته پیوسته بدون شکستن خط (رفتن به خط بعد) می باشد.


ایجاد دستور پایگاه داده

برای واکشی رکوردها از پایگاه داده، متغیر dbcomm را به عنوان شیء کلاس OleDbCommand ایجاد می نماییم. کلاس OleDbCommand برای اجرای پرس و جوی SQL جداول پایگاه داده است.

<%@ Import Namespace="System.Data.OleDb" %>

<script runat="server">
sub Page_Load
dim dbconn,sql,dbcomm
dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
data source=" & server.mappath("northwind.mdb"))
dbconn.Open()
sql="SELECT * FROM customers"
dbcomm=New OleDbCommand(sql,dbconn)
end sub
</script>

ایجاد DataReader

کلاس OleDbDataReader برای خواندن جریانی از رکوردهای یک منبع داده استفاده می شود.

DataReader با استفاده از فراخوانی متد ExecuteReader از شیء OleDbDataReader ایجاد می گردد:

<%@ Import Namespace="System.Data.OleDb" %>

<script runat="server">
sub Page_Load
dim dbconn,sql,dbcomm,dbread
dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
data source=" & server.mappath("northwind.mdb"))
dbconn.Open()
sql="SELECT * FROM customers"
dbcomm=New OleDbCommand(sql,dbconn)
dbread=dbcomm.ExecuteReader()
end sub
</script>

اتصال به کنترل Repeater

در ادامه DataReader را به کنترل Repeater متصل می نماییم.

مثال

<%@ Import Namespace="System.Data.OleDb" %>

<script runat="server">
sub Page_Load
dim dbconn,sql,dbcomm,dbread
dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
data source=" & server.mappath("northwind.mdb"))
dbconn.Open()
sql="SELECT * FROM customers"
dbcomm=New OleDbCommand(sql,dbconn)
dbread=dbcomm.ExecuteReader()
customers.DataSource=dbread
customers.DataBind()
dbread.Close()
dbconn.Close()
end sub
</script>

<html>
<body>

<form runat="server">
<asp:Repeater id="customers" runat="server">

<HeaderTemplate>
<table border="1" width="100%">
<tr>
<th>Companyname</th>
<th>Contactname</th>
<th>Address</th>
<th>City</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem("companyname")%></td>
<td><%#Container.DataItem("contactname")%></td>
<td><%#Container.DataItem("address")%></td>
<td><%#Container.DataItem("city")%></td>
</tr>
</ItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
</form>

</body>
</html>

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

Companyname Contactname Address City
Alfreds Futterkiste  Maria Anders  Obere Str. 57  Berlin 
Berglunds snabbköp  Christina Berglund  Berguvsvägen 8  Luleå 
Centro comercial Moctezuma  Francisco Chang  Sierras de Granada 9993  México D.F. 
Ernst Handel  Roland Mendel  Kirchgasse 6  Graz 
FISSA Fabrica Inter. Salchichas S.A.  Diego Roel  C/ Moralzarzal, 86  Madrid 
Galería del gastrónomo  Eduardo Saavedra  Rambla de Cataluña, 23  Barcelona 
Island Trading  Helen Bennett  Garden House Crowther Way  Cowes 
Königlich Essen  Philip Cramer  Maubelstr. 90  Brandenburg 
Laughing Bacchus Wine Cellars  Yoshi Tannamuri  1900 Oak St.  Vancouver 
Magazzini Alimentari Riuniti  Giovanni Rovelli  Via Ludovico il Moro 22  Bergamo 
North/South  Simon Crowther  South House 300 Queensbridge  London 
Paris spécialités  Marie Bertrand  265, boulevard Charonne  Paris 
Rattlesnake Canyon Grocery  Paula Wilson  2817 Milton Dr.  Albuquerque 
Simons bistro  Jytte Petersen  Vinbæltet 34  København 
The Big Cheese  Liz Nixon  89 Jefferson Way Suite 2  Portland 
Vaffeljernet  Palle Ibsen  Smagsløget 45  Århus 
Wolski Zajazd  Zbyszek Piestrzeniewicz  ul. Filtrowa 68  Warszawa 

 بستن اتصال پایگاه داده

همواره هم DataReader و هم اتصال پایگاه داده را پس از دستیابی به پایگاه داده ببندید:

dbread.Close()
dbconn.Close()

 

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

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

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

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

آموزش WebForm-صفحه Master

master page قالبی را برای سایر صفحات سایت شما فراهم می کنند.


Master Pages

master page به شما احازه می دهد تا یک نمای ثابت و رفتار یکسانی برای تمام صفحات (یا گروهی از صفحات) کاربرد وب خود ایجاد نمایید.

یک صفحه master، قالبی  با layout و کارایی مشترک، برای سایر صفحات فراهم می کند. master page، برای قرار گرفتن محتوا تعدادی placeholder تعریف می کند، که content page ها داخل این placeholder ها قرار می گیرند. نتیجه خروجی ترکیب content page و master page می باشد.

content page ها حاوی محتوایی است که قصد دارید نمایش دهید.

هنگامی که کاربری یک content page را درخواست کرد، ASP.NET صفحات master page و content page را برای تولید خروجی ترکیب می کند.


Master Page مثال

<%@ Master %>

<html>
<body>
<h1>Standard Header From Masterpage</h1>
<asp:ContentPlaceHolder id="CPH1" runat="server">
</asp:ContentPlaceHolder>
</body>
</html>

master page بالا یک صفحه html ساده است که به عنوان قالب برای سایر صفحات طراحی شده است.

دایرکتیو Master @ صفحه را به عنوان master page تعریف می کند.

master page حاوی یک تگ placeholder به صورت <asp:ContentPlaceHolder> برای هر محتوا می باشد.

ویژگی id="CPH1"، که برای شناسایی placeholder به کار می رود، اجازه می دهد تعداد زیادی Placeholder در یک master page مشابه قرار گیرد.

این master page با نام "master1.master" ذخیره گردیده است.

Note نکته: master page همچنین می تواند حاوی کدهایی باشد که محتوای پویا را نمایش می دهدNote: The master page can also contain code, allowing dynamic content.

Content Page مثال

<%@ Page MasterPageFile="master1.master" %>

<asp:Content ContentPlaceHolderId="CPH1" runat="server">
  <h2>Individual Content</h2>
  <p>Paragraph 1</p>
  <p>Paragraph 2</p>
</asp:Content>

content page فوق یکی از چندین content page ی است که می تواند در کاربرد وب شما وجود داشته باشد.

دایرکتیو Page @ صفحه را به عنوان content page استاندارد تعریف می کند.

content page حاوی تگ <asp:Content> است که در آن به صفحه اصلی ارجاع داده شده است. (ContentPlaceHolderId="CPH1")

هنگامی که کاربر این صفحه را درخواست کرد، ASP.NET صفحات master page و content page را ادغام می کند.

Note نکته: متن محتوا بایستی داخل تگ <asp:Content> باشد . خارج از این تگ اجازه درج محتوا وجود ندارد.

Content Page With Controls

<%@ Page MasterPageFile="master1.master" %>

<asp:Content ContentPlaceHolderId="CPH1" runat="server">
  <h2>W3Schools</h2>
  <form runat="server">
    <asp:TextBox id="textbox1" runat="server" />
    <asp:Button id="button1" runat="server" text="Button" />
  </form>
</asp:Content>

content page بالا نشان می دهد که چگونه کنترل های NET.  می توانند داخل content page قرار گیرند دقیقا مانند وقتی که در یک صفحه معمولی قرار می گیرند.

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

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

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

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

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

ASP.NET دارای کنترل های navigation می باشد


Web Site Navigation

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

در ASP.NET، منو می تواند در یک فایل ذخیره شود تا مدیریت آن آسان تر شود. این فایل web.sitemap نامیده می شود، و در ریشه دایرکتوری وب ذخیره می شود.

به علاوه، ASP.NET سه کنترل navigation دارد:

  • Dynamic menus
  • TreeViews
  • Site Map Path

فایل Sitemap

فایل sitemap زیر برای این آموزش مورد استفاده قرار گرفته است:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<siteMap>
  <siteMapNode title="Home" url="/aspnet/w3home.aspx">
    <siteMapNode title="Services" url="/aspnet/w3services.aspx">
      <siteMapNode title="Training" url="/aspnet/w3training.aspx"/>
      <siteMapNode title="Support" url="/aspnet/w3support.aspx"/>
    </siteMapNode>
  </siteMapNode>
</siteMap>

قوانین ایجاد یک فایل sitemap:

  • فایل XML باید حاوی تگ <sitemap> باشد و  سایر محتوا در آن قرار گیرد.
  • تگ <sitemap> تنها می تواند حاوی یک گره فرزند <siteMapNode> باشد. (صفحه اصلی سایت.)
  • هر <siteMapNode> می تواند دارای چندین گره فرزند باشد (WebPage)
  • هر گره <siteMapNode> دارای ویژگی هایی است که URL و عنوان صفحه را تعریف می کند.
Note

نکته: فایل sitemao بایستی در دایرکتوری ریشه وب قرار گیرد و URL بایستی مرتبط با دایرکتوری ریشه باشد.


Dynamic Menu

کنترل <asp:Menu> یک منوی navigation استاندارد برای سایت ایجاد می کند.

مثال:

<asp:SiteMapDataSource id="nav1" runat="server" />

<form runat="server">
<asp:Menu runat="server" DataSourceId="nav1" />
</form>

کنترل  <asp:Menu> در مثال بالا یک placeholder برای منوی navigation ی است که توسط سرور ایجاد گردیده است.

منبع داده کنترل با ویژگی DataSourceId تعریف می شود. شناسه "id="nav1 منو را به یک کنترل<asp:SiteMapDataSource> متصل می نماید.

کنترل <asp:SiteMapDataSource> به طور خود کار به فایل sitemap پیش فرض متصل می شود (web.sitemap).


TreeView

کنترل <asp:TreeView> منوی navigation چند سطحی را نمایش می دهد.

منو، مشابه یک درخت است که حاوی شاخه های متعددی است که می توانند با نماد + یا - باز و بسته شوند.

مثال:

<asp:SiteMapDataSource id="nav1" runat="server" />

<form runat="server">
<asp:TreeView runat="server" DataSourceId="nav1" />
</form>

کنترل <asp:TreeView> در مثال بالا placeholder ی است برای منوی navigation که توسط سرور ایجاد گردیده است.

منبع داده با ویژگی DataSourceId تعریف می شود. شناسه "id="nav1 آن را به کنترل <asp:SiteMapDataSource>متصل می کند.

کنترل <asp:SiteMapDataSource> به طور اتوماتیک، به فایل sitemap پیش فرض متصل می شود (web.sitemap).


SiteMapPath

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

بر خلاف TreeView و کنترل منو، کنترل SiteMapPath از SiteMapDataSource استفاده نمی کند.

Note نکته: اگر SiteMapPath به صورت صحیح نمایش داده نشد، به احتمال زیاد، یک خطای URL وجود (در تایپ آن) در فایل  Web.sitemap وجود دارد.

Code مثال:

<form runat="server">
<asp:SiteMapPath runat="server" />
</form>

کنترل <asp:SiteMapPath> در مثال بالا placeholder ی است برای نمایش مسیر سایت که توسط سرور ایجاد شده است.

 

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

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

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

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

در اینجا آموزش ASP.NET تمام شد 

از مدیران خواهش می کنم این پست رو به صورت اعلان در بیارن تا همه استفاده کنند

 

منبع : بیاموز

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

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

یک شنبه 9 آذر 1393  12:58 AM
تشکرات از این پست
hosseinb68
hosseinb68
hosseinb68
کاربر طلایی1
تاریخ عضویت : بهمن 1389 
تعداد پست ها : 1269
محل سکونت : بوشهر

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


نقل قول parisaexp

در اینجا آموزش ASP.NET تمام شد 

از مدیران خواهش می کنم این پست رو به صورت اعلان در بیارن تا همه استفاده کنند

 

منبع : بیاموز

 

با سلام و احترام خدمت شما و با تشکر از شما بابت قرار دادن این آموزش

کاری که از دستم بر میومد این بود که تاپیکتون رو به صورت ویژه قرار بدم که در بالای تالار نشون داده بشه و اون رو قفل کنم که کاربران نتونن دیگه توی اون اموزشها چیزی رو بنویسن و همچنین این تاپیک رو به مدیر ارشد انجمن ها برای قرار دادن در اعلان سایت معرفی کنم ، که تمامی این کارها رو انجام دادم

منتظر ارائه فعالیت های ارزشمند دیگر شما نیز هستیم

موفق باشید

دوشنبه 22 دی 1393  11:15 AM
تشکرات از این پست
parisaexp ravabet_rasekhoon
hosseinb68
hosseinb68
کاربر طلایی1
تاریخ عضویت : بهمن 1389 
تعداد پست ها : 1269
محل سکونت : بوشهر

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


نقل قول parisaexp

در اینجا آموزش ASP.NET تمام شد 

از مدیران خواهش می کنم این پست رو به صورت اعلان در بیارن تا همه استفاده کنند

 

منبع : بیاموز


با سلام و احترام

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

hosseinb68_rasekhoon@yahoo.com

مدیر تالار توسعه تکنولوژی وب

با تشکر از شما / موفق باشید

دوشنبه 22 دی 1393  11:24 AM
تشکرات از این پست
parisaexp amirali123 ravabet_rasekhoon
دسترسی سریع به انجمن ها