Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Sender button

Postades av 2008-02-29 09:27:32 - Mikael Jokela, i forum asp.net generellt, Tråden har 16 Kommentarer och lästs av 841 personer

Jag har en sida som innehåller 2st Usercontrols. Från båda kan man köra en postback via en button och jag vill från uc2 kunna se om en postback kommer ifrån den aktuella uc:n eller uc nummer 2 via page_Load.

Detta borde man väl kunna åstadkomma genom att kolla sender eller nåt?


Svara

Sv: Sender button

Postades av 2008-02-29 10:13:39 - Chris Klug

sender i PageLoad kommer inte att ge dig den kontrollen. Det enda sättet att kolla det, som jag kan komma på nu, är att kolla om Request.Form innehåller den ena eller den andra knappen.


Svara

Sv:Sender button

Postades av 2008-02-29 10:42:48 - Mikael Jokela

Request.Form luktar klassisk ASp :)
hur ställer du upp en sån fråga....?


Svara

Sv: Sender button

Postades av 2008-02-29 10:58:06 - Chris Klug

Det är klassisk asp..men det är det enda sättet jag kan komma på rakt upp och ner. Om din knapp heter "btn" så tror jag att följande kommer fungera. Inte helt säker dock...

if (Request.Form["btn"] != null)
{
   // btn clicked
}


Svara

Sv: Sender button

Postades av 2008-02-29 11:20:02 - Daniel Pålsson

 protected void Page_Load(object sender, EventArgs e)
 {
     if (IsPostBack)
     {
         Control c = GetPostBackControl(this.Page);
         if (c.GetType() == typeof(System.Web.UI.WebControls.Button))
         {
            // Do something
         }
     }
}

public static Control GetPostBackControl(Page page)
    {
        Control control = null;

        string ctrlname = page.Request.Params.Get("__EVENTTARGET");
        if (ctrlname != null && ctrlname != string.Empty)
        {
            control = page.FindControl(ctrlname);
        }
        else
        {
            foreach (string ctl in page.Request.Form)
            {
                Control c = page.FindControl(ctl);
                if (c is System.Web.UI.WebControls.Button)
                {
                    control = c;
                    break;
                }
            }
        }
    return control;
    }


Något sånt här du tänkt dig?


Svara

Sv:Sender button

Postades av 2008-02-29 11:24:41 - Mikael Jokela

Har ju lite problem att översätta c# rakt upp och ner....kanske kan köra det i nån translator.


Svara

Sv: Sender button

Postades av 2008-02-29 12:38:47 - Pelle Johansson

http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx


Svara

Sv: Sender button

Postades av 2008-02-29 15:30:10 - Anders Malmgren

Tjenare. Tycker du verkar lite fel ute. Om UC1 är beroende av UC2 tycker jag du ska implementera nån sorts Controller pattern som håller koll på de olika komponenterna

Tex kan din Page implementera ett Interface IExampleController

sedan från UserControllern som gör postbacken gör du från postback eventet

IExampleController controller = (IExampleController)Page;
controller.UpdateSomething(this);


Svara

Sv:Sender button

Postades av 2008-02-29 20:20:11 - Chris Klug

Håller absolut med om att man bör göra det så. Klart snyggare att låta det hela gå genom Page objektet på det viset. Tycker väl inte att sidan behöver implementera ett interface bara för det där dock. Sen hade jag kanske funderat på ett event istället för att låta kontrollen anropa en metod på föräldern. Tycker personligen attt det separerar objekten snyggare och gör att userkontrollerna kan återanvändas på olika sidor, vilket är tanken med en userkontroll


Svara

Sv: Sender button

Postades av 2008-02-29 23:56:52 - Mikael Jokela

Du pratar om Event Chris, nåt bra tips om var man kan läsa på om detta i nån artikel eller så?


Svara

Sv:Sender button

Postades av 2008-03-01 08:43:35 - Magnus Karlsson

Se : http://www.pellesoft.se/communicate/forum/view.aspx?msgid=262284&forumid=10&sum=0

Spinn gärna vidare och kom på hur man skickar med ett värde också så blir jag också glad.


Svara

Sv: Sender button

Postades av 2008-03-02 00:43:01 - Anders Malmgren

Att implementera ett interface eller att använda ett event ger samma beroenden, så rent arkitektuellt spelar det ingen roll..


Svara

Sv: Sender button

Postades av 2008-03-02 00:46:29 - Anders Malmgren

Magnus: "Spinn gärna vidare och kom på hur man skickar med ett värde också så blir jag också glad."

Skicka med ett värde till ett event? Det är inget svårt, bara att skapa en egen EventHandler som ärver av EventHandler

eller menar du skicka med ett värde från en postback? Det är ingen svårt det heller. ClientScript.GetPostBackEvent eller vad metoden heter...


Svara

Sv:Sender button

Postades av 2008-03-02 11:11:39 - Chris Klug

Jag håller inte riktigt med på att det blir samma beroende med ett interface som med ett event i det här fallet. I detta fall vill du att sidan ska implementera ett interface och att kontrollen skall casta Page till interfacet och anropa en metod. Då kan sidan lika gärna låta bli att implementera ett interface och så castar an Page till sidans typ och anropar en metod direkt, men i vilket fall som helst så blir beroendet så att kontrollen bara kan ligga på sidor som implementerar interfacet. Om mna låter kontrollen ha ett event istället som sidan kan lyssna på så kan kontrollen användas var som helst och Pagen kan välja att lyssna på eventet eller inte. Alltså blir det inte samma beroende. Med interface blir kontrollen beroende av sidan/dess interface, med ett event så är det egentligen ingen som är beroende utan det är frivilligt att använda funktionaliteten...


Svara

Sv:Sender button

Postades av 2008-03-02 19:53:50 - Magnus Karlsson


Anders : "Skicka med ett värde till ett event? Det är inget svårt, bara att skapa en egen EventHandler som ärver av EventHandler"

Har du något kod exempel?


Svara

Sv: Sender button

Postades av 2008-03-05 17:58:05 - Anders Malmgren

Magnus:

skapa ett eget eventargs

public class ValueSubmitedEventArgs : EventArgs
{
public ValueSubmitedEventArgs(string args)
{
this.Args = args;
}

public string Args
{
get;
private set;
}
}

Sedan i klassen som ska invoka eventet deklarerar du en protected metod,

protected void OnValueSubmited(object sender, ValueSubmitedEventArgs e)
{
if(ValueSubmited != null)
ValueSubmited(sender, e);
}

Detta gör man för att en klass som ärver av din klass ska kunna påverka hur eventet triggas...

Sedan skriver du såhär från det stället du vill invoka eventet

OnValueSubmited(this, new ValueSubmitedEventArgs("foo"));

edit: Chris du får läsa på lite om beroende... googla på "low coupling"...


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 166
27 952
271 704
1 529
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies