| |
| |
|
تبلیغات | |
جستجو، دایرکتوری وب فارسی، 118، لغت نامه، تقویم، اخبار و ... در جستجوگر ریسمون | |
| | |
توسط :
مديريت سايت
(1386/10/28) | بازدید :
1954
معرفی کاربردهای Multiview و View و نحوه استفاده از آنها
برنامه نویسان Asp.net 1.x ، جهت نمایش و یا عدم نمایش مجموعه ای از کنترل ها ، از کنترل Panel استفاده می کردند. برای مثال جهت ساخت یک Wizard سه مرحله ای ، سه کنترل Panel در فرم قرار می دادند و در پایان هر مرحله با مقدار دادن به خاصیت Visible کنترل Panel ، سعی به مرئی و نامرئی کردن جمعی کنترل ها و در نهایت شبیه سازی یک Wizard داشتند. نمونه کد زیر را در نظر بگیرید :
<%@ Page Language="VB" %>
<script runat="server">
Sub Button1_Click(s as Object, e as EventArgs)
Panel1.visible = true
Panel2.visible = false
Panel3.visible = false
End Sub
Sub Button2_Click(s as Object, e as EventArgs)
Panel1.visible = false
Panel2.visible = true
Panel3.visible = false
End Sub
Sub Button3_Click(s as Object, e as EventArgs)
Panel1.visible = false
Panel2.visible = false
Panel3.visible = true
End Sub
</script>
<html>
<head>
<title>Panels in ASP.NET 1.x</title>
</head>
<body>
<form runat="server">
<asp:Button id="Button1" runat="server" Text="Panel one" OnClick="Button1_Click" />
<asp:Button id="Button2" runat="server" Text="Panel two" OnClick="Button2_Click" />
<asp:Button id="Button3" runat="server" Text="Panel three" OnClick="Button3_Click" />
<br /><br />
<asp:Panel id="Panel1" runat="server">
Content Here (Panel 1)…
</asp:Panel>
<asp:Panel id="Panel2" runat="server" visible="false">
Content Here (Panel 2)…
</asp:Panel>
<asp:Panel id="Panel3" runat="server" visible="false">
Content Here (Panel 3)…
</asp:Panel>
</form>
</body>
</html> |
همانطور که در قطعه کد بالا مشاهده می کنید کد نویسی رویداد های کلیک کنترل های Button ، مقداری زمانبر می باشد.
همزمان با تولد Asp.net 2.0 به بعد برنامه نویسان با یک زوج کنترل جدید با عنوان های Multiview و View آشنا شدند. اگر بخواهیم به زبان ساده رابطه ی این دو کنترل را بیان کنیم ، می توان گفت Multiview ظرفی است برای نگهداری یک یا چندین کنترل View که در هر زمان تنها یکی از View ها را به نمایش می گذارد. کنترل View هم دقیقا" مانند کنترل Panel می تواند ظرفی برای نگهداری یک یا چندین کنترل (مانند Textbox , Label و دیگر کنترل ها) باشد. اگر چه بهتر است برای ساخت Wizard از کنترل جدید Wizard استفاده کنیم اما برای درک بهتر کنترل های Multiview و View مثال قبل را با کمک این کنترل ها پیاده سازی می کنیم :
<%@ Page Language="VB" %>
<script runat="server">
Sub Button1_Click(s as Object, e as EventArgs)
MultiView1.SetActiveView(View1)
End Sub
Sub Button2_Click(s as Object, e as EventArgs)
MultiView1.SetActiveView(View2)
End Sub
Sub Button3_Click(s as Object, e as EventArgs)
MultiView1.SetActiveView(View3)
End Sub
</script>
<html>
<head>
<title>Panels in ASP.NET 2.0 (as MultiView)</title>
</head>
<body>
<form runat="server">
<asp:Button id="Button1" runat="server" Text="Panel one" OnClick="Button1_Click" />
<asp:Button id="Button2" runat="server" Text="Panel two" OnClick="Button2_Click" />
<asp:Button id="Button3" runat="server" Text="Panel three" OnClick="Button3_Click" />
<br /><br />
<asp:MultiView id="MultiView1" runat="server" ActiveViewIndex=0>
<asp:View id="View1" runat="server">
Content Here (View 1)...
</asp:View>
<asp:View id="View2" runat="server">
Content Here (View 2)...
</asp:View>
<asp:View id="View3" runat="server">
Content Here (View 3)...
</asp:View>
</asp:MultiView>
</form>
</body>
</html> |
در کد فوق به نحوه تعریف View های مختلف درون کنترل Multiview دقت کنید. همچنین در بخش کد نویسی رویداد های کلیک Button ها حتما" متوجه شدید که با استفاده از متد SetActiveView ، اجازه نمایش به View مورد نظر را صادر کرده ایم. یقینا" این کد شفاف تر و ساده تر از مثال اول است.
اگر چه هنوز این کنترل ها کاملا" سازگار با Membership و Web Parts نیستند ولی با این حال بسیار مفیدند.
پی نوشت :
اگر به نحوه استفاده از کنترل های Ajax آشنایی داشته باشید ، متوجه افزایش بیش از حد کارایی و زیبایی برنامه خود در صورت استفاده از Multiview در کنترل UpdatePanel می شوید.
همه مقالات
کنترل های وب
را ببینید.
| |