Laden...

Forenbeiträge von serial Ingesamt 902 Beiträge

16.02.2010 - 16:41 Uhr

Hallo,

funktioniert aber nur, so lange man eine definierte Menge von Sortier möglichkeiten hat, so dass man diese nach Außen veröffentlichen kann.

genau das ist ja der fall bei linq, und wie du schon gesagt hast, mein problem.

Die Preisfrage: Wie bringt man Linq bei die Interface-Struktur zu verstehen, oder wie umgeht man das ganze.

meine frage in kompakter und klarer form =)

mfg
serial

16.02.2010 - 11:58 Uhr

Hallo Peter,

aber wie kann der CLient entscheiden, nach welchen Kriterien sortiert wird?
(zB: Datum absteigend, danach ID aufsteigen)
Die Sortierung muss vom Client aus regelbar sein.

Die Abfragen und Sortierungen (standard) werden ja schon in statischen Methoden, welche in den partiellen Klassen des LinqModels zur verfügung gestellt werden, durchgeführt.

mfg
serial

16.02.2010 - 11:12 Uhr

Hallo,

gibt es hier irgendwelche tipps?
Interfaces nicht verwenden, sondern direkt die LinqEntities?

mfg
serial

15.02.2010 - 11:34 Uhr

Hallo,

ich wollte die sache gern entkoppeln, da die meisten daten (News) bei uns aus der DB (Linq) kommen, aber es fälle gibt, wo sie auch aus XML kommen.

mfg
serial

15.02.2010 - 10:14 Uhr

Hallo,

ich stelle mir gerade die frage, ob es sinnvoll ist, Linq-Entitäten hinter Interfaces zu verstecken?!

Beispiel:


public partial class LinqObjekt:IMyObject
...


//und verwendung im Client über Interface
IMyObject obj = new LinqObject() //eigentlich über Factory oder Kernel instanzieren

wenn man es so machen sollte, WIE implementiere ich dann sinnvoll sortierfunktionen (OrderBy()), die ich natürlich direkt auf der Datenquell benutzen möchte, also auf den Linqobjekten.
Da der Client ja aber nach möglichkeit die Linqobjekte nicht kennen sollte, weiss ich gerade nicht, wie ich diese sache elegant implementieren soll.

Kann mir hier jemand einen tipp geben?
Sollte ich interfaces allgemein weglasse (dann arbeit der client mit contextbehafteten linqobjekten), oder sind interfaces auch hier richtig?

mfg serial

13.02.2010 - 11:58 Uhr

hallo,

ich gehe davon aus,dass du bist mit dem debugger schon schrittweise durch die readSpiel() methode durchgegangen bist?
Also es kann nicht an der if-bedingung in dieser Methode liegen? Möglicherweise stimmen die Bedingungen nicht??
Das wäre zumindest ein Grund, warum es ausserhalb funktioniert, aber in der read-Methode nicht.

mfg
serial

04.02.2010 - 11:43 Uhr

hallo,

ihr habt natürlich recht...! Manchmal sieht man den wald vor lauter bäumen nicht.

serial

04.02.2010 - 10:40 Uhr

Hallo,

du könntest den Handler im Falle, das keine Datei vorhanden ist, ein Javascript schreiben, welches History.Back() aufruft.

mfg
serial

04.02.2010 - 10:34 Uhr

Hallo Mars,

hab ich da wirklich nen denkfehler?
Ist es nicht so, wenn zB übergeben wird Audio | Video, dass dann das so aussieht:

0 1 1 0

und, nehmen wir weiter an, das der zu überprüfende Typ nur Audio hat, sieht sein feld so aus:

0 1 0 0

und durch das bitweise und wird doch nun folgendes:

übergebender Typ & zu überprüfender Typ = 0 1 1 0
Also:

0 1 1 0
& 0 1 0 0
= 0 1 1 0
und das entspricht doch dem übergebenem typ, oder nicht?

mfg
serial

03.02.2010 - 18:07 Uhr

Hallo,

ich habe eni kleines Problem, und zwar möchte ich in einer Linqabfrage ein Flagsenum benutzen:


public IEnumerable<INewsMedia> GetMediaByType(NewsMediaType mediaType)
        {
            return this.NewsMedia.Where((nm) => (nm.MediaType.MainType & mediaType) == mediaType);
        }

das Enum:


[Flags]
    public enum NewsMediaType
    {
        InvalidMediaType=0,
        UnsupportedMediaType=1,
        Video=2,
        Audio=4,
        Image=8
    }

und der aufruf


List<INewsMedia> media = news.GetMediaByType(NewsMediaType.Image | NewsMediaType.Video).ToList();

leider bringt mir der aufruf immer 0 Elemente.
Wenn ich eins der beiden Formate entferne, also so:

List<INewsMedia> media = news.GetMediaByType(NewsMediaType.Image ).ToList();

bekomme ich ein ergebnis.

Was mache ich falsch, bzw wie mache ich es richtig, damit es funktioniert?

mfg
Serial

14.01.2010 - 14:22 Uhr

Hallo,

ist es sinnvoll in Webanwendungen auf das Finish eines Delegaten welcher async ausgeführt wird, in einem callback zu reagieren?

Denn theoretisch kann der response ja schon beendet sein.
Sollte ich lieber auf den IAsyncResult pollen?

mfg
serial

Edit: weiterhin sollte man ja in Webanwendungen NICHT den Threadpool verwenden, aber benutzen Delegaten selbst nicht auch den Threadpool?

29.12.2009 - 12:24 Uhr

Hallo,

da du eine serverseitige abarbeitung wünscht, musst du entweder das AutoPostack der Textbox auf True setzen, dann wird alles gesendet und der Eventhandler wird aufgerufen.

Oder du versuchst es über das ICallbackEventhandler Interface zu lösen, da musst du alelrdings etwas mit Javascript arbeiten.

mfg
serial

18.11.2009 - 14:07 Uhr

Hallo Peter,

danke für deine Antwort, damit hast du meinen Gedanken untermauert..=)
Ich werde das mapping allerdings selbst erstllen, da es sich hier um kleine objekte handelt...und das "lernen" des Automappers wahrscheinlich länger zeit beanspruchen würde, als das Selbsterstellen...und Zeit habe ich leider garkeine =(

mfg
serial

18.11.2009 - 14:05 Uhr

hallo FLorian,

danke, dass wusste ich nicht nicht =)
Dann werde ich sie eben da holen, wo ich auch die Galerie speichere...ist in diesem Falle ja nicht so schlimm =)

Ich danke dir

mfg
serial

17.11.2009 - 15:49 Uhr

Hallo Florian,

die Entitäten habe ich nicht erzeugt 😉

Die 2te Methode funktioniert ja wirklich, aber die erste legt immer eine neue Kategorie an =(

Aber zu deiner Frage:

Die erste Methode bekommt die Galerie aus mit angehängter Kategorie (das ist quasi der 2te Codeschnipsel, welcher in einer anderen Assemby ausgeführt wird).

also quasi:


            gal.gal_beschreibung = "Beschreibung";
            gal.gal_bezeichnung = "Bezeichnung";
            gal.gal_datum = DateTime.Now;

            GalleriesKategorien kat = GalleriesKategorien.GetById(31);
            kat.Galleries.Add(gal);
            //gal.gal_gk_id = view.SelectedCategorie.Id;

            gal.gal_sender_id = view.SenderId;
            SaveNewGalerie(gal);

und hier liegt das problem, denn es wird nicht nur eine neue galerie, sondern auch eune neue kategorie angelegt (obwohl diese ja schon vorhanden und auch verknüpft ist)
mfg serial

17.11.2009 - 15:32 Uhr

verwendetes Datenbanksystem: <MS Sql 2008>

Hallo,

ich habe eine Assembly, die den Zugriff auf Tabellen unserer DB handelt, und das mit LinqToSql.

Im Fall geht es um die Galleries-Tabelle (Ja nicht über das doppel-l aufregen 😉 )
Diese Galleriestabelle hat noch eine Verknüpfung mit der GalleriesKategorie Tabelle.
Ein LinqToSql-Galleries Entitätenobjekt hat dementsprechend eine Eigenschaft einer GalleriesKategorie, und dem Entitätenobjekt GalleriesKategorie kann ich per Add eine neue Galerie anhängen.

In dem Projekt habe ich eine Methode, um eine neue Galerie hinzuzufügen, diese sieht so aus:


 public static void SaveNewGalerie(Galleries entry)
        {
            GalerieDataModelDataContext context = new GalerieDataModelDataContext();
            context.Galleries.InsertOnSubmit(entry);
            context.SubmitChanges();

        }

in einer anderen Assembly (welche diese Assembly benutzt) baue ich mir eine Gallerie zusammen, folgendermaßen:


gal.gal_beschreibung = "Beschreibung";
            gal.gal_bezeichnung = "Bezeichnung";
            gal.gal_datum = DateTime.Now;

            GalleriesKategorien kat = GalleriesKategorien.GetById(31);
            kat.Galleries.Add(gal);
            //gal.gal_gk_id = view.SelectedCategorie.Id;

            gal.gal_sender_id = view.SenderId;

bis dahin klappt alles, die Kategorie wird auch richtig herausgeholt, und nach dem Add werden die Entsprechenden Eigenschaften der Galerie gesetzt.

Wenn ich nun die Speichermethode aus der anderen Assemby heraus aufrufe wird die Galerie auch gespeichert, allerdings speichert er auch eine neue Kategorie...das soll er aber nicht, da es die Kategorie ja schon gibt.

Wenn ich das holen der Kategorie allerdings direkt in der Assemby lege, welche die Galerie speichert:


 public static void SaveNewGalerie(Galleries entry, int katId)
        {
            GalerieDataModelDataContext context = new GalerieDataModelDataContext();
            GalleriesKategorien kat = context.GalleriesKategorien.Where((gk) => gk.gk_id == katId).First();
            kat.Galleries.Add(entry);

            context.Galleries.InsertOnSubmit(entry);
            context.SubmitChanges();
        }

funktioniert es reibungslos....habe ich hier ein verständnisproblem?

mfg
serial

11.11.2009 - 12:29 Uhr

Hallo,

ich habe folgendes vor:

Eine webanwendung greift auf meine Businesslogik zu, welche ich über einen Microkernel lokalisieren und laden möchte (per interface).

Die konkrete Geschäftslogik benutzt als DAL LinqToSql, und ich würde natürlich auch diese LinqEntities gleich als BusinessEntities verwenden.
Allerdings müsste ich diese ja in die Contracts einbinden, damit ich in den Interfaces diese Datentypen zur verfügung habe.

Oder ich mache mir extra DTOs welche bei den Contracts liegen, und von der Businesslogik gemappt werden LinqEntities --> DTOs.

Wie wäre hier die richtige herangehensweise?

mfg
serial

02.11.2009 - 16:48 Uhr

ok, problem gelöst.

Bei der konbvertierung von net.20 auf net 3.5 hat er wohl aus irgendeinem grund die System.Web.Extensions auf die VErsion 3.5 aktualisiert.
Mit dieser funktioniert das aber nicht, also habe ich die Version 1.06 benutzt, und es ging wieder.

mfg
serial

02.11.2009 - 11:45 Uhr

Hallo,

ich habe folgendes Problem:

Ich habe einen Webservice, der als Scriptservice dienen soll:


 [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ScriptService]
    public class Service1 : System.Web.Services.WebService
    {

die Web.config ist ajax-enabled...
alle verweise sind eingebunden

Der Webservice lässt dich kompilieren und auch normal aufrufen, starte ich allerdings einen aufruf mit /js kommt folgende Meldung:

Only Web services with a [ScriptService] attribute on the class definition can be called from script.

was köntne dieses problem noch sein?
Habe weiter nix gefunden bei meiner suche... =(

mfg
serial

01.10.2009 - 18:22 Uhr

HAllo

@herbivore:

theoretisch ja, aber nur weil ich mit diesem system 8was schon gewaltig ist) arbeiten muss (einstellungen für ein cms)....daran selbst kann ich leider nix ändern.

Nur wollte ich eben den zugriff und mögliche ausnahmen und überprüfungen zentral halten.

mfg
serial

29.09.2009 - 17:36 Uhr

danke erstmal für eure antworten.

Das ich string erst in object casten muss, ist unschön...wäre aber akzeptabel.
Ich denke aber, ich werde es über 2 unterschiedliche methoden, eine für strings, und eine für den rest realisieren.

Ich habe wohl ein blackout.

Die Bearbeitung der strings ist anders, denn wenn ein string der parameter T wäre, könnte ich den wert aus cfg.GetConfigValue(...) direkt zurückgeben.

Ist T aber zB ein Int, dann muss der string con cfg.GetConfigValue(...) erst in einen Int gecastet und dann zurückgegeben werden.

mfg
serial

29.09.2009 - 17:15 Uhr

Hallo Kollegen,

ich stehe gerade aufm schlauch (vielleicht zu spät)

Ich möchte folgendes realisieren:
Ich möchte werte aus einer config auslesen, diese können alle valutypes, oder string sein.

Wenn es ein string ist, soll der wert direkt zurückgegeben werden, bei valuetypes muss ich noch konvertierungen vornehmen, also möchte ich string und valuetypes unterschiedlich behandeln.

Habe also eine spezialisierte methode für strings, und eine mit dem parameter T.


 private T GetConfigValueSafeAll<T>(string kat, string item, int senderId, T defaultValueIfExceptionOccured)where T:struct
        {
            try
            {
                Config cfg = new Config();
                string valueString = cfg.GetConfigValue(kat, item, senderId);
                if (!String.IsNullOrEmpty(valueString))
                {
                   //do stuff
                    //return value here
                }
                return defaultValueIfExceptionOccured;
            }
            catch (Exception ex)
            {
                return defaultValueIfExceptionOccured;
            }
        }

        private string GetStringConfigValue(string kat, string item, int senderId, string defaultValue)
        {
            try
            {
                Config cfg = new Config();
                string valueString = cfg.GetConfigValue(kat, item, senderId);
                if (!String.IsNullOrEmpty(valueString))
                {
                    return valueString;
                }
                return defaultValue;
            }
            catch (Exception ex)
            {
                return defaultValue;
            }
        }

        public T GetConfigValueSafe<T>(string kat, string item, int senderId, T defaultValueIfErrorOccured)
        {
            if (typeof(T).Equals(typeof(string)))
            {
                object o = (object)defaultValueIfErrorOccured;
                string blubb = (string)o;
                return GetStringConfigValue(kat, item, senderId, blubb) as T; //#1
return (T) GetStringConfigValue(...) //#2
            }
            return GetConfigValueSafeAll<T>(kat, item, senderId, defaultValueIfErrorOccured);
        }

beides bekomme ich nicht hin.
Man sieht, ich habe probleme beim cast zwischen T und string.

#1 muss ich eine constraint auf t: class setzen, damit funktionieren aber valuetypes ncihtmehr?

#2 meckert er, das T nicht in string gecastet werden kann

Wie kann ich mein vorhaben elegant realisieren?

mfg
serial

04.09.2009 - 17:30 Uhr

Hallo,

musst du nicht ein Select() auf das DataSource ausführen?
Bzw ein DataBind des Grids?

mfg
serial

11.08.2009 - 16:32 Uhr

Benutze statt normaler Buttons das ButtonField.


<asp:GridView ID="GridView1" runat="server" OnRowCommand="GridView1_RowCommand" AutoGenerateColumns="false">
<Columns>
    <asp:BoundField DataField="Vname" />
    <asp:BoundField DataField="Name" />
    <asp:ButtonField Text="Test" /> 
</Columns>
</asp:GridView>

und im RowCommand steht dann der Zeilenindex in e.CommandArgument.

mfg
serial

11.08.2009 - 12:37 Uhr

Wenn der Button in jeder Zeile ist, kannst du das ItemCommand-Event (oder RowCommand?) abbonieren, und da auf die entsprechenden Controls und Werte der Zeile zugreifen.

mfg
Serial

10.08.2009 - 18:38 Uhr

Hallo,

auf die controls kannst du im RowCreated-Event zugreifen per FindControl.

mfg
Serial

27.07.2009 - 13:44 Uhr

Hallo,

ich hab es noch nicht probiert, aber in der Session solltest das speichern können, aber beim heraushoen eben in den entsprechenden Delegatetypen casten und dann invoken.

mfg
serial

15.07.2009 - 17:56 Uhr

Viele Beispiele arbeiten auch mit einem PluginContext, welchen die Plugins über ein Interface kennen.

Deine Hostanwendung könnte dann so ein PluginHost sein.

mfg
serial

15.07.2009 - 15:48 Uhr

Kann das Plugin seine Update-Methode nicht in einem seperaten Thread ausführen, wenn es von der Hostanwendung benachrichtigt wird?

mfg
serial

14.07.2009 - 13:00 Uhr

er meint den ClientScriptManager den du über Page.ClientScript erreichen kannst.
Dieser hat mit Ajax in dem sinne nix zu tun und den kannst du verwenden.

Du kannst auch in den outputstream einfach deine Javascript funktion schreiben, aber über den ClientscriptManager ist es schöner.

mfg
serial

04.07.2009 - 11:49 Uhr

Hallo,

es gibt doch die Möglihkeit, per Attribut Member als optional zu kennzeichnen, damit kannst du das versionsproblem unter umständen in den griff bekommen.

Siehe auch: Versionstolerante Serialisierung

mfg
serial

03.07.2009 - 15:50 Uhr

wenn du deinen code wirklich nicht angepasst hast, wird wohl nicht der konfigurierte cachedependency verwendet.
Hier mal ein Beispiel:


public static DataTable GetMenu(string connectionString,int senderId, HttpContext context)
        {
          
            DataTable table = (DataTable)context.Cache.Get(string.Format("GetMenu()_{0}", senderId));
            if (table != null)
                return table;
            table = new DataTable();
           
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                try
                {
                   SqlCacheDependencyAdmin.EnableNotifications(); //damit ersparst dir die Kommandaozeile
                    SqlCommand command = new SqlCommand("select menu_bezeichnung from Menu where menu_sender_id = @sender_id", connection);
                    command.Parameters.AddWithValue("@sender_id", senderId);
                    dep = new SqlCacheDependency("myDB", "Menu");
                    SqlDataAdapter adpter = new SqlDataAdapter(command);
                    adpter.Fill(table);

                    context.Cache.Insert(string.Format("GetMenu()_{0}", senderId), table, dep);
                   
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                return table;
            }
        }

und die config:


<caching>
        <sqlCacheDependency enabled ="true" pollTime ="6000" >
          <databases>
            <add name="myDB"
              connectionStringName="ConnectionString"
            />
          </databases>
        </sqlCacheDependency>
      </caching>
    </system.web>
  <connectionStrings>
    <add name="ConnectionString" connectionString="Data Source=xxxxxxx;Initial Catalog=Test;Persist Security Info=True;User ID=xxxxx;Password=xxxxxxx" providerName="System.Data.SqlClient"/>
  </connectionStrings>

02.07.2009 - 17:53 Uhr

wie verwendest du es nun im Code?

mfg
serial

02.07.2009 - 15:47 Uhr

versuch mal, die SqlCacheDependency in der Web.config zu registrieren und zu aktivieren.

Beispiele findest dazu im internet.

mfg
serial

23.06.2009 - 14:58 Uhr

Hallo,

du musst der DDL ein leeres Item hinzufügen und die Eigenschaft AppendDataBoundItems auf true setzen.

mfg
serial

23.06.2009 - 10:47 Uhr

schau dir mal ToString() an.

mfg
serial

19.06.2009 - 15:35 Uhr

verwendetes Datenbanksystem: <Sql 2008>

Hallo,

ich wollte eine SqlCacheDependency ausprobieren:


public static DataTable GetMenu(string connectionString,int senderId, HttpContext context)
        {
            
            DataTable table = (DataTable)context.Cache.Get(string.Format("GetMenu()_{0}", senderId));
            if (table != null)
                return table;
            table = new DataTable();
            if (!_depStarted)
            {
                SqlDependency.Start(connectionString);
                _depStarted = true;
            }

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand command = new SqlCommand("select menu_bezeichnung from Menu where menu_sender_id = @sender_id", connection);
                //command.CommandType = CommandType.StoredProcedure;
                command.Parameters.AddWithValue("@sender_id", senderId);
                SqlCacheDependency dep = new SqlCacheDependency(command);

                SqlDataAdapter adpter = new SqlDataAdapter(command);
                adpter.Fill(table);

                //context.Cache.Insert(string.Format("GetMenu()_{0}", senderId), new DataTable(),dep);
                context.Cache.Insert(string.Format("GetMenu()_{0}", senderId), table, dep);

                return table;
            }
        }

die auskommentierte zeile mit der leeren DataTable funktioniert, bei der 2ten bleibt der Cache leer, wieso?

Service Broker ist aktiviert.
mfg
serial

19.06.2009 - 12:17 Uhr

Hallo Peter,

und genau das ist leider nciht möglich, weil die einzelnen Masterpages (keine ASP.Net Masterpages sondern eigene Templates) sehr umfangreich sind, und ich an diese nicht direkt herankomme.

Es ist ein sehr großes CMS welches weit vor net 1.1...nun muss ich das quasi "reinbasteln" =(

Fakt: Ich habe zZt nicht die möglichkeit das Formtag direkt in die Masterpage zu packen =(

mfg
serial

Achso, Peter,

ja den Button füge ich hinzu:


Button b;
        HtmlForm form;
        protected void Page_Load(object sender, EventArgs e)
        {
            b = new Button();
            b.Click+=new EventHandler(b_Click);
            b.Text = "Hallo";
            this.Controls.Add(b);  
        }

19.06.2009 - 10:53 Uhr

Hallo Peter,

das Problem ist, dass das bestehende System, für welches ich Controls schreiben muss ein altes System ist.

Und ehrlich gesagt wird hier wohl nie ein form runat="server" erzeugt, somit haben das die controls bis jetzt selbst gemacht.

Das hat bis jetzt auch funktioniert, da nie mehr als ein Control mit runat="Server" auf der Seite war.
Nun ist es aber so, und das Menücontrol wird in eine Seite OHNE Formtag mit runat geladen, aber bei gewissen Menüpunkten werden controls geladen, die auch ein Form runat="Server" besitzen.

Somit muss das Contrl von mir quasi schauen ob es da ist, und wenn nciht selbst rendern.

Und da ich irgendwo mal einen Artikel gelesen hatte das es funtkioniert, dachte ich, ich probier es mal aus.

mfg
serial

18.06.2009 - 16:34 Uhr

Hallo

das habe cih jetzt:


try
            {
                Page.VerifyRenderingInServerForm(this);
            }
            catch (Exception ex)
            {

                HtmlForm form = new HtmlForm();
                form.Controls.Add(b);
                this.Controls.Add(form);
            }
            base.Render(writer);

rendert folgendes:


<body>
    
    <div>
        <span id="WebUserControl1_1_Label1">Label</span><form name="aspnetForm" method="post" action="default.aspx" id="aspnetForm">
<div>
<input type="hidden" name="__VIEWSTATE" id="
__VIEWSTATE" value="" />
</div>
 
<div>
 
	<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgL+raDpAgLRkOr/BUl5WCOlXkwxqvxvgZT95cbBkI7b" />
</div><input type="submit" name="WebUserControl1_1$ctl01" value="Hallo" /></form></div>
 
</body>

also Viewstate und Eventvalidation-Field wird gerendert
Der Button wird auch gerendert, allerdings wird das Clickereignis noch nicht ausgeführt...

mfg
serial

18.06.2009 - 16:23 Uhr

So wird schonmal ein formulartag darum gerendert:


 protected override void Render(HtmlTextWriter writer)
        {
            try
            {
                Page.VerifyRenderingInServerForm(this);
            }
            catch (Exception ex)
            {
                writer.WriteBeginTag("form");
                writer.WriteAttribute("runat", "Server");
                writer.WriteAttribute("ID", "myForm");
                writer.Write(">");
                b.RenderControl(writer);
            }
            base.Render(writer);
            writer.WriteEndTag("form");
        }

b ist ein Button welcher im Loadereignis einen Clickhandler zugewiesen bekommt.
Er wird nun auch angezeigt wenn die Seite welche mein Control lädt kein Form runat="Server" hat.

Aber das Clickereignis wird nicht ausgeführt =(

Gibt es da keine Möglichkeit??

mfg
serial

18.06.2009 - 16:04 Uhr

HAllo Leute,

meine Frage:

Wenn ich ein eigenes Control erstelle, möchte ich prüfen ob es in einem ServerForm gerendert wird, wenn nich, soll es das selbst tun.

Nur wie kann ich das Formulartag renden??

Das hab ich bis jetzt:


 protected override void Render(HtmlTextWriter writer)
        {
            try
            {
                Page.VerifyRenderingInServerForm(this);
            }
            catch (Exception ex)
            {
                HtmlForm form = new HtmlForm();
                form.ID = "bla";
                form.Attributes["runat"] = "server";
                this.Controls.Add(form);
            }
            base.Render(writer);
        }

das funktioniert allerdings nicht, bekomme immernoch den Fehler das mein Control in einem Formular mit runat=Server stecken muss....
wie kann ich das richtig machen?

Danke schonmal,

mfg Serial

16.06.2009 - 12:11 Uhr

Wieso kein CustomControl?

Wo du die 2 Labels anordnest und eben deinen Button als Panel, und das Clickereigniss des Customcontrols implementierst?

mfg
serial

12.06.2009 - 13:58 Uhr

ok danke, dann werde ich einen anderen weg gehen

mfg
serial

12.06.2009 - 12:55 Uhr

Hallo,

folgendes Problem, ich habe einen Webservice welcher ein objekt einer klasse zurückliefern soll.

DIese Klasse hat Methode.

Nach dem Hinzufügen des Verweises auf den Webservice habe ich auch die Klasse zur verfügung, allerdings ohne ihre methoden.

Die Klasse


[Serializable]
        public class UserWrapperClass
        {
            ICommunityUserBase _user;
            public UserWrapperClass()
            { }

            public UserWrapperClass(ICommunityUserBase user)
            {
                _user = user;
            }

            public void SetUser(ICommunityUserBase user)
            {
                _user = user;
            }

            public void SetUser(object user)
            {
                _user = (ICommunityUserBase)user;
            }

            public object GetUser()
            {
                return _user;
            }
}

Der Service


 [WebMethod(EnableSession = true)]
        [ScriptMethod()]
        public void SetUser(UserWrapperClass)
        {
           //proceed work
        }

und der konsument (aspx)


 Service1 srv = new Service1();
UserWrapperClass wrapper = new UserWrapperClass();
wrapper.SetUser(new User()); //diese SetUser Methode gibt es nicht
srv.SetUser(wrapper);

Die UserWrapperClass ist in einer seperaten Assembly, welche alle 3 Projekte als Verweis besitzen.

Wieso habe ich keine EMthoden zur Verfügung?

mfg
serial

02.06.2009 - 00:49 Uhr

du übergibst ein object[]?, übergebe den integer doch direkt...

mfg
serial

02.06.2009 - 00:29 Uhr

vielleicht solltest du dir, wie schonmal erwähnt, den BackgroundWorker anschauen, der extra für diesen Fall Events anbietet: ProgressChanged....

Und zu dem Castproblem, dazu bräuchten wir wohl etwas Code...

mfg
serial

26.05.2009 - 11:30 Uhr

So, ich hab es jetzt!

Ich habe händisch ein Encoding für Codepage 1252 erstellt mit Encoding.GetEncoding(1252)
Jetzt funktioniert es....sollte das aber nicht das gleiche wie bei Encoding.Default sein?(Hatte ich auch benutzt, tat aber nicht)

mfg
serial

26.05.2009 - 11:06 Uhr

ich weiss schon, ANSI deutsche Codepage, aber es tut einfach nicht =(

mfg
serial

26.05.2009 - 10:50 Uhr

HAllo nochmal,

@herbivor ich habe schon gesucht, nur haben die lösungen nicht zum erfolg geführt.

Ich kann es mir auch langsam nicht mehr vorstellen, habe auch StreamReader mit Codierungserkennung benutzt.
Die ANSI-Codepage gesetzt, aber es klappt einfach nicht =(

mfg
serial