Вие се наоѓате на вистинската фреквенција на najforumce FM 105.5 мегапиксели, а јас сум Досаден Login Pop Up што пробува да ве натера да се регистрирате. Др.Џек Левин кој покрај магнетниот појас за колено го измисли и магнетниот форум www.najforumce.fairtopic.com Доколку се регистрирате на овој форум големи се шансите да го зголемите волуменот на косата,да го намалите вишакот килограми и да ви се зголеми интелегенцијата,онолку колку што ќе постирате дневно на форумот.
!!!

[ASP.NET]Пристап до некоја корисничка контрола (user control) преку друга корисничка контрола

Преглед на претходна тема Преглед на наредна тема Go down

[ASP.NET]Пристап до некоја корисничка контрола (user control) преку друга корисничка контрола

Пишување by Kosta on Пон Јун 23 2008, 16:59

Примеров се состои до пристап до вредност од DropDown листа од една корисничка контрола, преку друга корисничка контрола. Уствари преку примеров е да се види како комуницираат корисничките контроли.

Чекор 1: Креираме нов веб сајт. Десен клик на проектот -> Add New Item -> Web User Control. Дајте и некое име било какво на корисничката контрола, еве во нашиов пример ќе и дадеме име "ControlA". Исто креирајте и втора коричничка контрола и дајте и име "ControlB".

Чекор 2: Следува креирање на DropDown листата (со id="ddlItems") во "ControlB" корисничката контрола и пристап до селектрираната вредност од dropdown листата во "ControlA" корисничката контрола.

За да го направиме тоа влечиме (drag and drop) DropDownList контрола во корисничката контрола ControlB и и додаваме некои ставки (items). Кодот би излгедал вака:

Код:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ControlB.ascx.cs" Inherits="ControlB" %>
<asp:DropDownList ID="ddlItems" runat="server">
    <asp:ListItem>Item A</asp:ListItem>
    <asp:ListItem>Item B</asp:ListItem>
    <asp:ListItem>Item C</asp:ListItem>
</asp:DropDownList>

Во CodeBehind го додаваме следново својство на DropDown листата (C# e кодот):

Код:
public partial class ControlB : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    public DropDownList ControlB_DDL
    {
        get
        {
            return this.ddlItems;
        }
    }
}

Чекор 3: Наредно, влечиме TextBox (id = "txtDDLValue" ) и Button (btnDDLValue) контрола во втората корисничка контрола "ControlA".
Друго доста важно е тоа што треба да додадеме референца од корисничката контрола "ControlB" во корисничката контрола "ControlA". Бидејќи корисничките контроли се компајлираат во асембли, додавање на референца овозможува "ControlA" да има пристап до методите и својствата од "ControlB". Кодот би изгледал вака:


Код:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ControlA.ascx.cs" Inherits="ControlA" %>
<%@ Reference VirtualPath="~/ControlB.ascx" %>
 
<asp:TextBox ID="txtDDLValue" runat="server"></asp:TextBox>
<br />
<br />
<asp:Button ID="btnDDLValue" runat="server" OnClick="btnDDLValue_Click" Text="Get DropDown Value" />

Во CodeBehind имаме:

Код:
protected void btnDDLValue_Click(object sender, EventArgs e)
    {
        ControlB ctrlB = (ControlB)Page.FindControl("cB");
        //cB e id na ControlB
        DropDownList ddl = ctrlB.ControlB_DDL;
        txtDDLValue.Text = ddl.SelectedValue;
    }

Се додека ја имаме референцирано "ControlB" во "ControlA" можеме да ги пронајдеме контролите и да имаме пристап до DropDown листата.

Чекор 4: Се што ни остана да направиме е да ги додаме овие две контроли на страната (Default.aspx). За да го направиме тоа, едноставно ги влечиме (drag and drop) во design mode при што во позадина се формираат регистерски директиви кон контролите. Кодот би изгледал вака:


Код:
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Src="ControlB.ascx" TagName="ControlB" TagPrefix="uc1" %>
<%@ Register Src="ControlA.ascx" TagName="ControlA" TagPrefix="uc2" %>

<!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>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <uc1:ControlB ID="cB" runat="server" />
        <br />
        <br />
        <uc2:ControlA ID="cB" runat="server" />
   
    </div>
    </form>
</body>
</html>

Стартувајте ја апликацијата. Променете ја вредноста на DropDown листата во корисничката контрола ControlB. Потоа притиснете на копчето во корисничката контрола ControlA и селектираната вредност од DropDown листата ќе се прикаже во TextBox-от.

:cao: :cao: :cao:

_________________
Кај ми е сонцето бе !?
avatar
Kosta
Најфорумче манијак
Најфорумче манијак

Male
Scorpio

Расположение :
Треснал Глупости : 2202
Поени : 159
Репутација : 3
Поминат рок на траење : 31
Се наоѓам : Струга
Ден на регистрирање : 2007-05-16

Преглед на профилот на членот http://www.najforumce.fairtopic.com

Вратете се на почетокот Go down

Преглед на претходна тема Преглед на наредна тема Вратете се на почетокот


 
Permissions in this forum:
Не можете да одговарате на темите во форумот