Laden...

Forenbeiträge von Jabi Ingesamt 222 Beiträge

20.09.2014 - 11:03 Uhr

Hallo,

Ich kämpfe nun schon seit geraumer Zeit, mein PDF ( erstellt via PDFSharp ) welches ich in einen MemoryStream geladen habe im WebBrowser darzustellen.
Es kommt aber immer nur eine Leere Seite ... und ich verzweifle.

Einziger weg was bis jetzt geht => Den MemoryStream vom PDF in ein File zu speichern und dann mit Navigate im Webbrwoser das File öffnen.
Dies möchte ich aber vermeiden da dies eingescannte PDF's sind und zum teil nicht gespeichert werden.


using( MemoryStream ms = new MemoryStream())
                 {
                     // doc.Save = Funktion von PDF Sharp wo das PDF in einen Stream gespeichert wird
                     doc.Save(ms, false);
                     webBrowser1.Navigate("about:blank");
                     webBrowser1.Document.OpenNew(false);
                     ms.Position = 0;
                     webBrowser1.DocumentStream = ms;
                   }

leider bleibt das WebBrowser Control leer
hat dies schon jemand gelöst ?

Grüße Chris

15.04.2010 - 14:07 Uhr

schade....
aber wenigstens weis ich nun woran ich bin 😃

danke trotzdem

14.04.2010 - 16:31 Uhr

huch das anführungszeichen gehört da nicht hin
hab das geschrieben da ich den code zuhause habe ....

das problem ist er ruft bzw führt die methode gar nicht aus

sondern wenn das control gerendert ist dann steht im quellcode auf der seite bei href:

this.GetRouteUrl(.... etc

wenn ich im code behind das control anspreche und die navigate url setze :


hyperlink3.NavigateUrl = this.GetRouteUrl("search", new { keyword = this.txtSearch.Text})


und im quellcode nach dem rendern beim href steht dann :
search/mein_txtSearchText/

ich weis ich hab das blöd erklärt aber ich weis auch ned wie ich das am besten erklären will

die navigateUrl lässt sich einfach nicht setzen mit der methode
und ich möchte die navigate url schon auf der aspx seite setzen
und nicht im code behind ...

14.04.2010 - 15:58 Uhr

Die aspx seite verarbeitet meine NavigateUrl angabe nicht

bzw steht die dann genau so im quelltext also mit :
this.GetRouteUrl("search", new { keyword = this.txtSearch.Text"})

ich möchte den hyperlink nicht extra im code behind ansprechen und die navigateUrl setzen
sondern direkt auf der aspx seite und das geht nicht

14.04.2010 - 10:34 Uhr

Hallo Leute,

ich arbeite derzeit einem asp.net 4 projekt und verwende routing

leider habe ich probleme meine links in der aspx seite zusammen zu stellen :



<asp:HyperLink ID="HyperLink3"
 NavigateUrl='<% = this.GetRouteUrl("search", new { keyword = this.txtSearch.Text})  %>'
 runat="server">HyperLink</asp:HyperLink>


oder gibts hier keine möglichkeit und ich muss alle routing links im code behind definieren ?

für jede hilfe bin ich sehr dankbar

14.07.2009 - 20:22 Uhr

Hallo,

Stimmt das habe ich nicht berücksichtigt.

13.07.2009 - 11:10 Uhr

Beschreibung:

Um Duplicate Content zu vermeiden könnt ihr folgendes HttpModule benützen.
Meine Methode fügt jeder URL die kein www besitzt eines hinzu.
Die Zeile für den Developmentserver kann entfernt werden wenn ihr die seite nicht mit dem Cassini testet.


public class DuplicateContentModule : IHttpModule
    {
        private static Regex regex = new Regex("(http|https)://www\\.", RegexOptions.IgnoreCase | RegexOptions.Compiled);

        public void Dispose() { }

        public void Init(HttpApplication context)
        {
            context.BeginRequest += new EventHandler(context_BeginRequest);
        }

        void context_BeginRequest(object sender, EventArgs e)
        {
            HttpApplication application = sender as HttpApplication;
            Uri url = application.Context.Request.Url;
            bool hasWWW = regex.IsMatch(url.ToString());
            if (!hasWWW)
            {
                //set filter to run on development server
                if (url.ToString().Contains("localhost")) { return; }

                // Insert www
                string newUrl = String.Empty;
                if (url.ToString().Contains("https://"))
                {
                    newUrl = url.ToString().Replace("https://", "https://www.");
                }
                else
                {
                     newUrl = url.ToString().Replace("http://", "http://www.");
                }
                
                HttpContext.Current.Response.Clear();
                HttpContext.Current.Response.Status = "301 Moved Permanently";
                HttpContext.Current.Response.AddHeader("Location", newUrl);              
            }
        }
    }

Schlagwörter: Duplicate Content, ASP.net

27.03.2009 - 19:59 Uhr

such mal bei google nach :
spicIE

edit:
ich nehm dir mal arbeit ab :
spicIE

28.01.2009 - 11:45 Uhr

Hallo, ich bin nun seit stunden am "hadern" wie ich mein Excelsheet als tabstop text speichern kann .....

verwendet wird die Microsoft Excel 12.0 Object Libary


using Excel = Microsoft.Office.Interop.Excel;

ExcelSheet erstellen klappt Wunderbar ... Speichern auch:


Save_Path = Core.Core.ApplicationPath + "\\testSheet.xls";
                
                myExcelWorkbook.Close(true, Save_Path, System.Reflection.Missing.Value);

leider komme ich nciht dran wie ich das ganze gleich als tabstop speichern kann ....
vielleicht kann mir jemand ja helfen der schonmal mit einem ähnlichen Problem zu kämpfen hatte

SaveAs hätte ich auch schon probiert aber dort finde ich nichts mit Tabstopp .. sondern nur mit Text


myExcelWorkbook.SaveAs(Core.Core.ApplicationPath + "\\my_ExcelTabstopp.txt", Excel.XlFileFormat.xlCurrentPlatformText,
                    System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlShared,
                    System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value, false);

leider bekomme ich darauf immer eine exception :


Ausnahme von HRESULT: 0x800A03EC

für jede hilfe wäre ich sehr dankbar

edit Lösung:
Was ein gutes Mittagessen nicht alles bewirken kann habe die lösung :

myExcelWorkbook.SaveAs(Save_Path, Excel.XlFileFormat.xlTextWindows,
                    System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
                    System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value, false);

SaveAccessMode auf no change ....

26.01.2009 - 20:29 Uhr

wenn du Linqerwenden kannst (net 3.5 )


string strTest = null;
XDocument xml = XDocument.Load("hier pfad zum xml");

var xmlQuery = from item in xml.Descendants("settings")
select item;


foreach (XElement items in xmlQuery)
{
    Console.WriteLine(items.Element("Datum"));
    Console.WriteLine(items.Element("Brot"));
    Console.WriteLine(items.Element("Wasser"));
    Console.WriteLine(items.Element("Milch"));
    Console.WriteLine(items.Element("Butter"));
}
Console.ReadLine();

hoffe das hilft dir so kann man xml daten sehr einfach und schnell auslesen

24.09.2008 - 08:28 Uhr
Thread.Sleep(50);

in die schleife einbaun verzögert das ganze aber ist wesentlich schonender für die cpu auslastung

25.06.2008 - 11:24 Uhr

hier is auch noch was
Paypal API for ASP.net Developers

25.06.2008 - 10:25 Uhr

auf asp.net gabs mal einen starterkit für paypal und asp.net

weis aber nciht wo schau mal dort vielleicht wirst fündig und kannst hier den besten treffer posten

20.06.2008 - 08:13 Uhr

wie wärs mit :


   <input id="File1" type="file" />
  <input id="Submit1" type="submit" value="submit" />

danach kansnt du mit php deine file operation ausführen


<?php
  if(isset($_POST['submit']))
  {
    /* php code
  }
?>

is ungetestet da ich schon lange nix mehr mache mit php ...

19.06.2008 - 08:10 Uhr

Super erweiterung Danke !

18.06.2008 - 08:04 Uhr

Vielleicht ist ja LINQ to DataSet eine Hilfe. **
Das ist genau das richtige für dich !**

17.06.2008 - 09:06 Uhr

hmmm dann hab ich wohl wirklich über 5 ecken gedacht 🙂

Vielen Dank 🙂

17.06.2008 - 08:46 Uhr

Im Moment ja.....

Das sollte für später noch tiefgehender gehen ....

ein 2tes CustomControl benötigt diese JS/css files

Endziel sollte so aussehen :

Mein 2tes CustomControl auf die Seite ziehen ( darf beliebig oft erstellt werden )

Beim erstellen des Controls
prüfen ob das Header Control ( welches die css/js und js vars einbindet )
schon existiert
Wenn ja Control erstellen
wenn nein : Header Control im Head bereich erstellen und dann mein Custom Control

Ich weis nicht ob ich da zu umständlich denke

17.06.2008 - 08:05 Uhr

Hallo folgendes Problem:

Ich habe ein CustomWebControl in einer DLL.
Dieses WebControl ladet verschiedene Javascript Files/ Css Dateien / und ein paar Javascript var's
( Control kommt in den Header bereich der seite )

Mein Problem wenn diese Sachen öfter geladen werden funktionieren die clientseitigen aufrufe nicht mehr

Ich benütze Masterpages/Pages/und Controls(ascx)....
wie kann ich das am Besten realisieren.....

oder muss ich jedes mal beim Control im on Init die Page mit foreach nach dem Control Typen durchsuchen oder gibts da einfacheres ?

vielleicht hat jemand schon erfahrung damit ?

02.05.2008 - 08:33 Uhr

Code128 A und B
würd mich auch intressieren leider habe ich 0 ahnung davon wie sowas aufgebaut wird ... sonst würd ich mcih schon hinsetzen und das machen 🙂

01.05.2008 - 11:45 Uhr

gibs auch screenshots?

30.04.2008 - 08:19 Uhr

hmmmm
lad dir mal den ToolkitSourceCode runter dort sind samples dabei ...
da solltest du auch die Css namen finden diese kannst du dann modifizieren 🙂

29.04.2008 - 16:45 Uhr

du musst auch beachten das das Attachment noch nicht freigegeben wurde von der MailMessage


msg.Dispose();

danach solltest du wieder auf die Datei zugreifen können

lg Jabi

23.04.2008 - 10:52 Uhr

Hallo,

Wenn man mit Vs 2005/08 mit vb.net programiert generiert der editor automatisch einen horizontalen strich sobald eine methode geschlossen bzw eine neue begonnen wird

gibts das für c# auch ? hab leider nix gefunden im vs

lg Jabi

22.04.2008 - 11:28 Uhr

auf die schnelle würde ich sagen:



LinkButton lb = new LinkButton();
                lb.ID = "lbMsg" + j.ToString();
                lb.Text = j.ToString();
                lb.Click += lbMsg_Click;
                UpdatePanel1.ContentTemplateContainer.Controls.Add(lb);
                AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
                trigger.ControlID = lb.UniqueID;
                trigger.EventName = "OnClick";
                UpdatePanel1.Triggers.Add(trigger);

hatte mal das problem das wenn ich ein Updatepanel im Codebehind erstellt habe und die Trigger manuell hinzugefügt hab ....
gings auch nie aber sobald du die Unique id angibst gehts ich verweise mal kurz auf meinen Post von vor ein paar tagen:
UpdatePanel im Code Behind erzeugen

vielleicht hats ja geholfen

19.04.2008 - 14:35 Uhr

habe die lösung gefunden

Alles gehört im OnInit() definiert + einen AsyncPostBackTrigger adden :


protected override void OnInit(EventArgs e)
        {

            ScriptManagerProxy scp = new ScriptManagerProxy();
            this.Controls.Add(scp);
            UpdatePanel udp = new UpdatePanel();
            udp.UpdateMode = UpdatePanelUpdateMode.Conditional;
            udp.ID = "ThemeBoxUpdatePanel";
            udp.ChildrenAsTriggers = true;
            udp.EnableViewState = true;
            // Controls to Add
            ThemeDropDownList tddl = new ThemeDropDownList();
            tddl.ID = "ThemeBoxThemeDropDownList";
            // Add Controls to Content Template
            //### UPDATE PROGRESS ###
            UpdateProgress uProg = new UpdateProgress();
            img = new Image();
            img.ID = "ThemeBoxProgressImage";
            img.Width = 20;
            img.Height = 20;
            ClientScriptManager cs = this.Page.ClientScript;
            img.ImageUrl = cs.GetWebResourceUrl(this.GetType(), ".......");
            uProg.ID = "ThemeBoxUpdateProgress";
            uProg.Controls.Add(img);
            uProg.DynamicLayout = true;
            uProg.DisplayAfter = 100;
            MyTemplate progTemplate = new MyTemplate();
            uProg.ProgressTemplate = progTemplate;
            udp.ContentTemplateContainer.Controls.Add(uProg);
            //### UPDATE PROGRESS end ###
            udp.ContentTemplateContainer.Controls.Add(tddl);
            // Add Triger
            AsyncPostBackTrigger trigger1 = new AsyncPostBackTrigger();
            trigger1.ControlID = tddl.UniqueID;
            trigger1.EventName = "SelectedIndexChanged";
            udp.Triggers.Add(trigger1);
            //Add Udp To the Panel
            this.Controls.Add(udp);
            base.OnInit(e);
        }

19.04.2008 - 12:17 Uhr

Hallo,
Ich habe folgendes Problem ....
ich habe mir ein Custom webControl erstellt in dem ich einen Scriptmanagerproxy, ein UpdatePanel und eine dropdownlist erstelle

leider funktioniert der AjaxPostback nicht sondern wenn ich einen Postback über die Dropdownlist auslöse kommt auch ein normaler seiten postback ... Obwohl ich beim UpdatePanel ChildrenAsTrigger = true eingestellt habe

leider komme ich bei dem Problem nciht weiter da ich den fehler einfach nicht finde ...
so habe ich die Controls erstellt :


public class ThemeBox : Panel
    {
        public ThemeBox()
        {
            // Create ScriptManagerProxy for Ajax supprot
            ScriptManagerProxy scp = new ScriptManagerProxy();
            this.Controls.Add(scp);
            UpdatePanel udp = new UpdatePanel();
            udp.UpdateMode = UpdatePanelUpdateMode.Conditional;
            udp.ID = "ThemeBoxUpdatePanel";
            udp.ChildrenAsTriggers = true;
            udp.EnableViewState = true;
            // Controls to Add
            ThemeDropDownList tddl = new ThemeDropDownList();
            // Add Controls to Content Template
            //### UPDATE PROGRESS ###
            UpdateProgress uProg = new UpdateProgress();
            img = new Image();
            img.Width = 20;
            img.Height = 20;
            img.ImageURL =".......";
            uProg.Controls.Add(img);
            uProg.DynamicLayout = true;
            uProg.DisplayAfter = 100;
            MyTemplate progTemplate = new MyTemplate();
            uProg.ProgressTemplate = progTemplate;
            udp.ContentTemplateContainer.Controls.Add(uProg);
            //### UPDATE PROGRESS end ###
            udp.ContentTemplateContainer.Controls.Add(tddl);
            //Add Udp To the Panel
            this.Controls.Add(udp);
        }

        internal  class MyTemplate : ITemplate
        {
	        public void InstantiateIn(Control container)
	        {
	         // This is empty.
	        }
        }
        protected override void Render(HtmlTextWriter writer)
        {
            base.Render(writer); 
        }

    }

muss man sonst noch etwas einstellen damit der Ajax Postback ausgelöst wird ?
in der ThemeDropDownList ist im Konstrukt AutoPostBack = True eingestellt ...
ChildrenAsTriggers = true; sollte doch reichen ......

zu erwähnen das ist eine Asp.net 3.5 seite
über jede hilfe währe ich sehr dankbar

14.04.2008 - 13:04 Uhr

ich glaube ich habe den fehler mit der Version.xml gefunden ....

eben hatte ich den K_Updater gestartet ( Adminprog)
Aktualisiert auf neue Version
mein projekt geladen ... diesmal gings
dann die Server Version aktualisiert ging auch ...

danach wollte er das Projekt wieder öffnen und dann gings nicht ....

eventuell ist irgendwo eine FTP verbindung nicht geschlossen und der Server lässt nicht mehr als wie eine Verbindung pro IP zu ?
fakt ist das ich auch vorher mit keinem anderen FTP programm auf meinem server war ?
vielleicht hilft dir das ganze bei der fehlersuche

sorry für die schreibfehler etc bin sehr in eile 🙂

edit:
habe das ganze nochmals schnell überprüft, nach neustart des Computers funktioniert das ganze wieder
bedingung es darf bevor man den Kupdater(admin.exe) startet keine ftp verbindung aufgebaut werden ansonsten kann man das projekt wieder nicht öffnen

14.04.2008 - 11:17 Uhr

kommt drauf an in welcher verwendung

willst du dies direkt nach einem PostBack oder AjaxPostback machen ?
Dann schreib dir ne Javascript funktion und rufe diese dann im CodeBehind per ClientScriptManager auf ( ClientRegisterStartupScript ) ?

oder willst du ganz was anderes ?

11.04.2008 - 22:21 Uhr

hallo,

ja ist nicht perfect ich hab die methode aber auch vor ca nem jahr geschrieben und habe auch erst so ca vor 1.5 jahren angefangen mit c# 🙂

deswegen auch nicht so perfekt

11.04.2008 - 10:37 Uhr

das war noch zu zeiten wo es kein wcf gab 🙂

aber wie gesagt ich finds so einfach gehalten da man DataSet ja über den service laufen lassen kann und wenns am server verschlüsselt wird und am client wieder entschlüsselt wird muss der client halt keine daten passwörter oder ähnliches mitsenden somit kann man auf https/SSL verzichten

wie gesagt ist für .net 2.0 eine einfache lösung

was noch ganz gewifft dabei ist das das DataSet auch noch kompriemiert wird und somit weniger traffic verursacht

11.04.2008 - 08:03 Uhr

hab dir eben ein snippet erstellt ! :
DataSet ver- und entschlüsseln

lg Jabi

11.04.2008 - 08:01 Uhr

das DataSet sieht dann so aus wenns verschlüsselt ist:


<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop">
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Encrypted="True" msprop:PackedData="siehe Anmerkung">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="AutoLoginData">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ID" msdata:AutoIncrement="true" type="xs:int" />
                <xs:element name="AutoLogin" type="xs:boolean" />
                <xs:element name="GroupMail" type="xs:string" />
                <xs:element name="Password" type="xs:string" default="" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
      <xs:unique name="Constraint1" msdata:PrimaryKey="true">
        <xs:selector xpath=".//AutoLoginData" />
        <xs:field xpath="ID" />
      </xs:unique>
    </xs:element>
  </xs:schema>
</NewDataSet>

[EDIT von herbivore]
Anmerkung:

Die gepackten Daten sind ein langer String, den ich hier auf 72 Zeichen umgebrochen habe, damit das Foren-Layout nicht zerrissen wird. Wenn man die XML-Datei verwenden will, muss man ihn wieder zusammenhängen und oben bei "siehe Anmerkung" einfügen.

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

[/EDIT]

11.04.2008 - 08:00 Uhr

Beschreibung:

Einfache statische Methode mit der man ein DataSet verschlüsseln und entschlüsseln kann.


using System;
using System.Data;
using System.IO;
using System.IO.Compression;
using System.Runtime.Serialization.Formatters.Binary;
using System.Security.Cryptography;


public class DataConvert
{
    public static DataSet SecureDataSet(DataSet ds, String password)
    {
        ds.RemotingFormat = SerializationFormat.Binary;
        if (ds.ExtendedProperties.ContainsKey("PackedData"))  // Deomprimieren
        {
            byte[] buffer = new byte[4096];
            int read;
            byte[] ba = Convert.FromBase64String(ds.ExtendedProperties["PackedData"] as string);
            MemoryStream ms = new MemoryStream(ba);
            if (ds.ExtendedProperties.ContainsKey("Encrypted")) // Verschlüsselt 
            {
                if (password == null) throw (new Exception("Access Denied !"));
                if (password == "") throw (new Exception("Access Denied !"));

                RijndaelManaged RMCrypto = new RijndaelManaged();
                CryptoStream CryptStream = new CryptoStream(ms, RMCrypto.CreateDecryptor(CreateKey(password), new Byte[16]), CryptoStreamMode.Read);
                MemoryStream ms1 = new MemoryStream();
                try
                {
                    do
                    {
                        read = CryptStream.Read(buffer, 0, buffer.Length);
                        ms1.Write(buffer, 0, read);
                    }
                    while (read > 0);
                }
                catch (Exception)
                {
                    throw (new Exception("Access Denied !"));
                }
                CryptStream.Close();
                ms = ms1;
                ms.Seek(0, 0);
            }
            DeflateStream dfs = new DeflateStream(ms, CompressionMode.Decompress, true);
            ds.ExtendedProperties.Clear();
            MemoryStream ms2 = new MemoryStream();
            do
            {
                read = dfs.Read(buffer, 0, buffer.Length);
                ms2.Write(buffer, 0, read);
            }
            while (read > 0);
            dfs.Close();
            ms2.Seek(0, 0);
            return (DataSet)(new BinaryFormatter()).Deserialize(ms2, null);
        }
        else  // Komprimieren
        {
            BinaryFormatter bf = new BinaryFormatter();
            MemoryStream ms = new MemoryStream();
            bf.Serialize(ms, ds);
            byte[] ba = ms.ToArray();
            ms.SetLength(0);
            DeflateStream dfs = new DeflateStream(ms, CompressionMode.Compress);
            dfs.Write(ba, 0, ba.Length);
            dfs.Flush();
            dfs.Close();
            dfs.Dispose();
            ds.Clear();
            ba = ms.ToArray();
            if (password != "")
            {
                ds.ExtendedProperties.Add("Encrypted", true);
                RijndaelManaged RMCrypto = new RijndaelManaged();
                ms = new MemoryStream();
                CryptoStream CryptStream = new CryptoStream(ms, RMCrypto.CreateEncryptor(CreateKey(password), new Byte[16]), CryptoStreamMode.Write);
                CryptStream.Write(ba, 0, ba.Length);
                CryptStream.Close();
                ms.Close();
                ba = ms.ToArray();
            }
            ds.ExtendedProperties.Add("PackedData", Convert.ToBase64String(ba));
        }
        return ds;
    }

    private static byte[] CreateKey(String password)
    {
        PasswordDeriveBytes pdb = new PasswordDeriveBytes(password, null);
        pdb.HashName = "SHA512";
        return pdb.GetBytes(16);
    }
}

Schlagwörter: <DataSet, verschlüsseln, crypt, Secure DataSet, Kompriemieren, dekompriemieren,pack>

10.04.2008 - 20:15 Uhr

also ich tausche meine daten bei den webservices nur über datasets aus
welche am serv er verschlüsselt werden und vom client entschlüsselt werden

09.04.2008 - 08:49 Uhr

also ich habe auch einen domainserver auf dem asp.net ( kein php) und my Sql genutzt wird

06.04.2008 - 11:05 Uhr

ich verwende auch den fceditor.net kann ich nur weiterempfehlen

01.04.2008 - 15:36 Uhr

www37 ging in den vorherigen versionen auch

beim pfad wo er die erreichbarkeit prüft und php prüft
habe ich dann die http adresse angegeben damits funktioniert ... war in den vorherigen versionen auch so ....

mit unterordner funktioniert das ganze auch nicht eben ausprobiert ich sende dir die logs eben.....

01.04.2008 - 15:25 Uhr

meine ftp verbindung lautet zb so:
www37.world4you.com
username
pw

pfad is keiner angegeben da der username fuer ein unterverzeichnis auf dem ftp geht
sprich geht hier alles in den root rein( also root für den usernamen )

wenns hilft sende ich dir das ftp log ?( an welche mail ? )

01.04.2008 - 14:56 Uhr

ja
habe probiert ein neues projekt anzulegen selbe geschichte
gab aber beim kreieren ein problem mit der php erreichbar keit möglicherweise das es heir irgendwo liegt... das komische ist ja das es mit den hervorgehenden ersionen immer geklappt hat......

btw: hab ich versucht ein project zu öffnen und es hat nicht geklappt(wie oben beschrieben)
habe ich das kleine fenster mit öffne projekt per alt+f4 geschlossen

danach konnte ich auf meinem ftp server gar nichts mehr bzw nur beschränkt machen...

eventuell läuft irgendwas in ner endlosschleife ? erst als ich das administrations programm ganz beendet habe konnte ich auch am ftp server wieder etwas machen ...
edit:

lion hat recht andere anwendungen laufen auch kaum.... cpu auslastung 100%

01.04.2008 - 14:31 Uhr

ok ich sende dir die tage die verschlüsslungs methode 🙂
muss selbst rauskramen 😜

01.04.2008 - 13:50 Uhr

also ich habe auch ein kleines problem

und zwar habe cih den K-updater bei mir am laptop installiert und die Programmeinstellungen von der alten Version die am anderen PC war geholt

import hat gut geklappt wenn ich nun aber das Project öffnen will ist der letzte schritt:
Download complete: version.xml

und das kleine fenster mit Öffne Projekt "....." is noch immer offen es öffnet sich aber nicht anderes

edit:
Was ich noch anmerken möchte:
wenn man die einstellungen exportiert .... dann wird das ftp passwort im klartext im xml gespeichert .... vielleicht kann man da noch was ändern

ich kann dir auch gerne eine verschlüsslungs methode für strings zusenden

30.03.2008 - 16:39 Uhr

Hallo,

Folgendes Problem:
Ich habe mir in einer Dll eine Klasse erstellt die von MasterPage abgeleitet wird.

nun möchte ich das auf dieser seite ein bestimmtes Control vorhanden sein muss
bzw der compiler einen fehler wirft wenn auf dieser seite das von mir gewünschte Control nicht existiert( in meinem fall eine von mir befüllte dropdownlist).

wie kann ich das bewerkstelligen?
mein versuch bis jetzt:
das Interface


public interface InovMasterPage
    {
        ThemeDropDownList MasterThemeDropDownList { get; }
    }

Die Klasse die abgeleitet wird von masterpage



public class novMasterPage : MasterPage, InovMasterPage
    {
        public ThemeDropDownList MasterThemeDropDownList { get { return new ThemeDropDownList(); } }
    }

vielleicht kann mir jemand nen tipp geben 🙂

27.03.2008 - 12:50 Uhr

Feine Sache...

funktioniert leider nicht mit den deutschen Versionen von VS2008 😦

kann ich nur bestätigen
ich hoffe da tut sich auch bald mal was für die deutsche version ...
ist echt dumm derzeit ...

12.03.2008 - 08:07 Uhr

oha ... toll dann muss ich wohl weiterhin vs 2005 fürs web nützen da geht der Designer wenigstens 🙂

11.03.2008 - 20:16 Uhr

Hallo,

Ich habe folgendes Problem,
Der Hotfixfür den VS 2008 ( WebDesigner ) lässt sich nciht installieren da er kein visual studio erkennt.
ASP.net Zone VS 2008 Hotfix
Dort wurde das Problem auch beschrieben das es sich auf einem deutschsprachigem system nciht installieren lässt aber leider keine lösung dabei ...

Ich verwende Windows XP und habe die Vs 2008 Std. edition

weis jemand für hier eine lösung ?

05.03.2008 - 13:16 Uhr

Huhu,

bei mir bleibt das Programm seit neustem hängen bei:

--> Alte dateien löschen

Woran kanns liegen ?

selbe problem hab ich auch als ich die derzeit neueste version installiert habe

04.03.2008 - 12:42 Uhr

ah ok das sollte nicht so schwer sein
wie ist dann das ... muss ich mir da dann eine lizenz für den ISS kaufen um asp.net zum laufen zu brigen ?
ich werds mal googln ....
sind die rootserver denn empfehlenswert ? :
World4You Rootserver

danke schonmal für eure fachlichen meinungen 🙂

04.03.2008 - 10:42 Uhr

ja erstmal finden zu guten konditionen 🙂

ein rootserver wäre da eine echte alternative aber da müsst ich mich auch erstmal einlernen und sehen was man da alles braucht und wie was funktioniert ....

es soll ja dann alles laufen und nicht schlechter wie vorher funktionieren