PDA

View Full Version : سوال: کنترل Web User Control



meisam12
سه شنبه 07 شهریور 1391, 13:56 عصر
سلام دوستان
من می خواستم با استفاده از Web User Control برای لیست محصولات درست کنم و با دیتالیست این Web User Control را به صورت داینامیک load کنم.
لطفاً راهنمایی نمایید.
با تشکر

meisam12
چهارشنبه 08 شهریور 1391, 09:28 صبح
کسی نمی تونه کمک کنه؟

mahmood1000
چهارشنبه 08 شهریور 1391, 09:46 صبح
از PlaceHolder استفاده کن.
با استفاده از PlaceHolder میتونی Web User Control رو به صورت داینامیک لود کنی

meisam12
چهارشنبه 08 شهریور 1391, 10:10 صبح
می شه یک مثال بزنی؟

از PlaceHolder استفاده کن.
با استفاده از PlaceHolder میتونی Web User Control رو به صورت داینامیک لود کنی

mahmood1000
چهارشنبه 08 شهریور 1391, 10:30 صبح
شما اول یه web user control ایجاد کن
مثال:


<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApplication11.WebUserControl1" %>
<H1>WebControl</H1>
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>

تو این کنترل من یه تقویم برای مثال آوردم.

حالا بالای صفحه ای که میخوای نمایش داده بشه (webform1.aspx) این رفرنس رو وارد کن


<%@ Reference Control = "WebUserControl1.ascx" %>

این نشان دهنده ادرس web user control یی که میخوای به صورت داینامیک فراخوانیش کنی

حالا تو صفحه یه placeholder و یک button فراخوانی کن.
کد صفحه برای مثال:


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication11.WebForm1" %>
<%@ Reference Control = "WebUserControl1.ascx" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>

</div>
</form>
</body>
</html>


برای رویداد کلیک button این کد رو بنویس

protected void Button1_Click(object sender, EventArgs e)
{
WebUserControl1 uc = (WebUserControl1)Page.LoadControl("WebUserControl1.ascx");
PlaceHolder1.Controls.Add(uc);
}


حالا برنامه رو اجرا کن