Hier wurde das Thema auch schon mal behandelt @ vor String
Gruß Jörg
Da Du ja SelectedIndexChanged behandelst nutze diese um einem Label JavaScriptCode zu übergeben, dieser wird dann ausgeführt.
Im Head der Seite legt Du eine JavaScript-Funktion
function windowOpen(url)
{
window.open......
}
Auf der Page ein Label z.B. mit der Id "WindowOpener"
In der SelectedIndexChanged-Methode dann
string SelectedUrl = "test.aspx";
this.WindowOpener.Text = "<script>windowOpen('" + SelectedUrl + "')</script>";
Wenn die Seite einen Postback erfährt die SelectedIndexChanged Methode ausgeführt wurde und die Seite dann am Client gerendert wird, öffnet sich das PopUp.
Jörg
Wenn es mit vachar(max) nicht geht, versuche doch mal ein varchar(angenomme Länge)
Assemblyname denke ich mal dürfte sich mit 255 durchaus realisieren lassen.
Jörg
Ich frage am Montag einen Kollegen, der sich gerade mit dem Workflow auseinander setzt, ob er eine Lösung parat hat.
Jörg
Habe da leider keine richtige Antwort, aber es gibt vielleicht eine Möglichkeit
unter http://blogs.msdn.com/sharepoint/ was zu finden, sind ja die "Erfinder"
klingt auch noch gut.
Aber gehen sollte das eigentlich.
Jörg
Hallo,
schau Dir mal http://wiso.buhl.de/WISO_Kaufmann_2007_Beschreibung.BuhlData an. Kann viel und ist günstig.
http://wiso.buhl.de/upload/Leistungsvergleich_Kaufmann-Buchhaltung_851.pdf
Dein Chef kann es Abschreiben, und Deine Wochenenden sind gerettet 🙂
Jörg
Da Rainbird schon aufs SDK verwiesen hat möche ich Dir noch 2 Links mit auf den Weg geben.
http://www.sharepointcommunity.de/
und zwar noch ein recht frischer Blog aber trotzdem gute Infos:
http://weblogs.mysharepoint.de/fabianm/default.aspx
Jörg
Original von Borg
In der Praxis wird eh...
Aber nicht in der mathematischen Praxis. Da ist der Durchmesser das künstliche Konstrukt und der Radius "natürlich".Nur in der Technik rechnet man mit dem Durchmesser.
Da kam halt meine technische Ausbildung durch 🙂
Der Radius ist halt schwer messbar 😉, außer man teilt den Durchmesser durch 2.
Zum Glück sind wir im Smalltalk...
Jörg
In der Praxis wird eh.
U = d * PI gerechnet wobei d = 2r ist.
d = U/PI
r = U/PI/2
Nur mal so
Jörg
Bevor Ihr das Empower ISV nutzt solltet ihr zwingend die Bedingungen dazu durchlesen. https://empower-isv.one.microsoft.com/isv/programguide/Requirements.aspx
Ein anderer Weg wäre außer der MSDN Subscription auch die Registrierung als MS-Partner mit dem Action Pack für 320,- + die normalen Lizenzen für Visual Studio.
Im Grunde sind das doch sehr geringe Kosten, wenn ich bedenke das alleine Adobe Acrobat schon mehr als das ActionPack kostet.
if(Lizenzkosten / Tagessatz < x Tage)
Console.WriteLine("GWG locker bezahlt und verbucht");
Jörg
Ja damit ist wohl immer das gleiche gemeint.
Schau mal hier rein http://www.sharepointcommunity.de/
Gruß Jörg
Bei der Installation sollte die Registrierung der COM-Komponeten bereits erfolgreich durchgeführt worden sein.
Stimmt den die Referenz des OfficeWrappers oder verwendest Du vielleicht
Asp-Classic mit Server.CreateObject ?
Jörg
Excel sollte auf dem Rechner installiert sein.
Jörg
Gehöre auch zur "Brötchenfraktion" 🙂
Jörg
Das Projekt läuft schon mehrere Jahre, und da gibt es auch natürlich einen ständigen Wechsel an externen Mitarbeitern. Und nur die könnten überhaupt Kenntnissse besitzen.
Also nix Spionage 😉
Nun da ich in diesem Projekt bin, stelle ich fest, dass dies Projekt derzeit das weltweit größte .NET-Projekt ist. (sein soll)
Also nix Mac und Mono sondern C#, ARIS und Friends.
Warum müssen Projektausschreibungen immer so kompliziert mit internas geschmückt werden 🤔
Jörg
Die StringValidator-Klasse aus 2.0 ist ja kein Hexenwerk, geh mal mit Reflector ran und du siehst das es ganz simpel aufgebaut ist.
Unter http://regexlib.com/ wirst Du bestimmt ein passendes Pattern finden.
Jörg
Die Gültigkeit des Strings kannst Du mit RegEx überprüfen.
Feststellen ob eine Datei bereits existiert, geht mit System.IO.FileInfo
FileExists
Wenn Du den Pfad überprüfen möchtest, nimm System.IO.DirectoryInfo
DirectoryExists
Gruß Jörg
Eine Klasse "User" ist ein gutes Beispiel dafür.
Jörg
Ohne genaue Problemstellung lässt sich die Frage nicht pauschal beantworten.
Das OnInit ist im Lifecycle einer ASP.NET Anwendung vor dem Page_Load deshalb funktioniert dies im o.a. Fall.
Den Ansatz das Object zwischen zu speichern wären Cache,Session & Friends.
Manchmal macht es aus Sinn mit Panels/PlaceHoldern zu arbeiten und deren Visible-Eigenschaft (true/false) setzen.
Aber den Lifecycle solltest Du Dir mal genauer ansehen.
Jörg
Da hilft Dir das Visiual Studio.
Gehe in deine Codebesidedatei.
Suche dir einen Platz innerhalb der Klasse außerhalb von Methoden
und tippe:
"protected override" ein dann liefert Dir Intellisense eine Auswahl an.
protected override void OnInit(EventArgs e)
{
base.OnInit (e);
}
Jörg
Master.FindControl("ID des Elements");
dann casten fertig
Jörg
Wann setzt Du denn eigentlich:
Textbox1.Attributes.Add("onkeydown", submitOnEnter('" +Button1.ClientID + "');");
Wenn bei jedem ENTER die Button1_Click Methode angesprochen wird,
dann hat JavaScript alles richtig gemacht.
Jörg
document.forms[0].submit();
führt aber nur ein Postback durch, ohne das seine OnButtonClick-Methode im Codebehind angesprochen werden würde, weil sender die Form und nicht der Button ist.
Jörg
Ich glaube jetzt erst zu langsam zu begreifen was Du möchstest.
Du sendet eines HTML Mail - In dieser soll dann eine Id aus Registry des Clients ausgelesen werden um diese dann auf einer aspxPage auszuwerten.
Mit Javascript an die Registry ist nicht möglich!!! bzw. wäre ein BUG dann mail an secnotif[at]MICROSOFT.COM 😁
Wenn ja, wäre das ein Grund sofort alle Verbindungen zum Netz zu kappen.
Was Du suchst hat eher was mit ActiveX und Jscript zu tun.
Jörg
Ändere mal folgenden Code:
Textbox1.Attributes.Add("onkeydown","submitOnEnter(this.form." + Button1.ClientID +")");
//in
Textbox1.Attributes.Add("onkeydown","submitOnEnter('" + Button1.ClientID +"');");
Dieser Aufruf bezieht sich nämlich noch auf die "alte" function
Jörg
Poste mal deinen erzeugten HTML-Source als Attachment(zip) ich habe da eine Vermutung 🙂
Jörg
Auch das ist eigentlich nicht schwer: Im Grunde gibt es zwei Möglichkeiten.
Hier die einfache:
meinlog.aspx
Im Page_Load
if(Request.QueryString["postid"] != null)
{
int PostId = 0;
try
{
PostId = Int32.Parse(Request.QueryString["postid"].ToString());
}
catch{}
if(PostId > 0)
Log(PostId)
Response.Redirect("/e.gif");
}
private void Log(int postId)
{
//hier dann Insert in die Datenbank mit
// ID, Datum, Ip, etc..
}
Jörg
Also wer mein DesktopBild haben möchte schreibe einfach eine Mail,
denn es steht unter JörgsLizenzbedingungen da selbstgemacht 🙂
Gruß Jörg
Oder mit ner HelperMethode
public static void VisibleSwitcher(System.Windows.Forms.Control c)
{
c.Visible= !c.Visible;
}
Vorrausetzung alle gewünschten Controls erben von Control 🙂
Jörg
Doch das gibt es, ist im Prinzip ein alter Hut, den z.B. IVW seit Urzeiten verwendet.
<img scr="http://www.foo.de/meinlog.aspx?id=12312321" width="1" height="0" boder="0" alt="" />
und die meinlog.aspx wertet die id aus, und liefert dann ein transparentes GIF an den Client 🙂
Aber auch das habe ich z.B. per Default ausgeschaltet und lasse mir schön alle Mails als NUR TEXT anzeigen, somit geht das auch nicht 100%.
Jörg
Lass es einfach! Irgendwelche JavaScripts die Browserfenster ungefragt öffnen kommen nicht besonders gut an, zu mal es viele einfach nicht zulassen das Scripts in Mails ausgeführt werden.
Setze den Link in die Newsletter, wenn es interessant ist, klicken die Leser schon drauf.
Jörg
Im HTML Newsletter
<a href="http://www.mycsharp.de/wbb2/thread.php?postid=160326">Dieser Thread</a>
Für aspx halt 'http://www.foo.foo/foo.asp?thread.aspx?postid=160326
Und dann im CodeBeside
if(Request.QueryString["postid"] != null)
{
int PostId = 0;
try
{
PostId = Int32.Parse(Request.QueryString["postid"].ToString());
}
catch{}
if(PostId > 0)
ShowWhat(PostId)
}
Jörg
Verwende doch CDATA
<NewLine><![CDATA[\n]]></NewLine>
Jörg
Du kannst entweder per Get also im QueryString den Wert mitgeben
ala test.aspx?key=value
oder per POST mit javascript ein hiddenField setzen und die Action der Form auf der Seite dann auf die aspx-Seite setzen.
Jörg
Du könntest das Ergebnis in eine Variable stecken.
Declare @CaseValue nvarchar(50) -- Als Beispiel
SET @CaseValue = Select foo from Table Where foo = foo;
CASE (@CaseValue)
Jörg
@Kai das snippet setzt aber einen globalen onkeydown ein, somit würde jedes RETURN die Funktion aufrufen, und evtl. eine bestehende Zuweisung auf document.onkeydown überschreiben.
Ohne eine Abfrage auf existierende Funktionszuweisung ist das ein "gefährlicher" Weg.
Jörg
EDIT: Irgendwo wurde das hier mal diskutiert und mit einer "netten" Function belebt, die es möglich macht mehrere Zuweisungen auf z.B. document.onkeydown durchzuführen, aber irgendwie finde ich das über die Suche nicht mehr.
function submitOnEnter(e) {
var submitBtn = document.getElementById(e);
// debug
alert(e);
if(event.which || event.keyCode)
{
if ((event.which == 13) || (event.keyCode == 13))
{
submitBtn.click();
return false;
}
} else
{
return true
};
}
Aufruf dann mit:
Textbox1.Attributes.Add("onkeydown", submitOnEnter('" +Button1.ClientID + "');");
Schau Dir mal den gerenderten HTML-Source Code an. Da sieht man das recht schnell was nicht passt.
Jörg
Hier wurd mal der umgekehrte Weg besprochen Enter Taste verbieten also Enter verbieten.
Textbox1.Attributes.Add("onkeydown","submitOnEnter(this.form." + Button1 +")");
// kann nicht funktionieren das Du das Object "Button1" übergibst,
// da es aber clientseitig aufgerufen werden soll wäre folgendes sinnvoller
Textbox1.Attributes.Add("onkeydown","submitOnEnter(this.form." + Button1.ClientID +")");
Gruß Jörg
Da hat FZelle recht 🙂
Falls Du es noch nicht gehört hast - mal auf Wikipedia nachschauen.
Jörg
Verwende mal % als Platzhalter
"SELECT * FROM Adressen WHERE alter > 30 OR vorname LIKE '%en%'"
Gruß Jörg
Ich meinte Du sollst Dir mal den Quelltext der HTML-Seite ansehen.
Dort suchst du Dein Menu und das Item(Node) welche den gewünschten Text enthält.
Vielleicht steht da so was.
<td style="white-space:nowrap;"><a class="ctl00_MainMenu_1 ctl00_MainMenu_3" href="#" style="cursor:text;">Über uns</a></td>
Und wenn das "cursor:text" zu finden ist, kann man das auch entfernen.
Es gibt mehrere Ansätze, nur ohne weiter Kenntniss deiner Page ist halt die berühmte Glaskugel.
Jörg
Schau mal in den erzeugten Source der HTML-Seite, dort könnte style="cursor:text;" stehen.
Im schlimmstenfall gehts Du bei PreRender noch mal auf das Menu und entfernst das dann.
Jörg
Dann halt auf die Items, ist ja jetzt wohl kein Problem mehr für Dich.
Den Lösungsansatz hast Du ja jetzt.
Jörg
per CSS - einfach für Menu Cursor Hand setzen.
Jörg
Vielleicht meinst Du ..ASPX Runtime - ASP.NET Desktop Runtime ? Das funktioniert wunderbar - siehe [gelöst] Standalone EnterpriseManager gesucht
Jörg
Da werden die wohl den REFERER auslesen, damit man es eben nicht direkt aufrufen kann!
Aber das kann man ja umgehen.
Jörg
Eins fällt mir noch ein, anstelle der xp_cmdshell kannst Du auch durch
ein Aufruf von Helpfile an die Infos kommen
Aufruf durch:
use DeineDatenbank
exec sp_helpfile
Jörg