www.®olandsee.net

... all kinds of stuff

Webparts Drag and Drop und Firefox

by rolosee 18. July 2008 07:18

Die Unterstützung der ASP.NET 2.0 Webparts im Firefox ist von Microsoft in den letzten ASP.NET Releases leider stark vernachläßigt worden. Besonders die Drag and Drop Funktionalität funktioniert im FF und auch in anderen Browsern überhaupt nicht. Nach längerer Recherche im Web bin ich nun endlich fündig geworden, wie z.B. im Firefox oder im Opera das Drag and Drop für die Webparts ermöglicht werden kann.

Man muss dazu die Microsoft ASP.NET Futures (July 2007) downloaden und installieren. Es handelt sich um ein technology preview release, ist also ohne Support für Produktivseiten. Allerdings - ohne geht Drag and Drop in den genannten Browsern derzeit einfach nicht.

Nach dem Download und dem Ausführen des *.msi Files ist die entspreche Dll im VS2008 in der ToolBox zu registrieren. Die DLL sollte unter c:\Programme\Microsoft ASP.NET\ASP.NET Futures July 2007\v1.3.61025\3.5\Microsoft.Web.Preview.dll zu finden sein. Erst danach stehen die Futures-Controls zur Verfügung:

 

Nun muss lediglich im Code z.B. der Default.aspx oder der Masterpage ein Verweis auf den ScriptManger hinzugefügt werden und im betroffenen Control oder in der betroffenen aspx-Seite müssen ein paar kleine Ergänzungen erfolgen:

<asp:ScriptManager ID="ScriptManager1" runat="server" />
<%@ Register Assembly="Microsoft.Web.Preview" Namespace="Microsoft.Web.Preview.UI.Controls.WebParts" TagPrefix="cc1" %>
<cc1:WebPartManager ID="WebPartManager1" runat="server" />
<cc1:WebPartZone ID="WebPartZone1" runat="server">

Neben der Registrierung der Assembly muss also für den WebPartManager und für WebPartZone(s) der Tag von <asp:WebPartManager ...  zu <cc1:WebPartManager ... geändert werden. Dann klappt das Drag And Drop auch in Browsern wie Firefox und Opera. Vielleicht schafft es Microsoft ja, in der nächsten ASP.NET Version solche von vielen Usern erwünschten Funktionalitäten zu integrieren.

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Visual Studio | WEB 2.0 | ASP.NET | Microsoft

ASP.NET Logout via HttpHandler

by rolosee 26. June 2008 07:24

Omar Al Zabir beschreibt in seinem Buch "Building a Web 2.0 Portal with ASP.NET 3.5" eine interessante Alternative zum ASP.NET Logout Mechanismus über FormsAuthentication.SignOut. Letzteres löscht lediglich das Cookie .DBAUTH, was in vielen Fällen ausreichen mag. Wenn jedoch ein "anonymous identification provider" verwendet wird, werden zwei Cookies erstellt, .DBAUTH und .DBANON. Probleme können dann entstehen, wenn durch SignOut das Authentifizierungscookie gelöscht wird, das anonymous cookie jedoch noch vorhanden ist.

Um dieses Problem zu umgehen, schlägt Zabir die Verwendung eines LogOut Handlers vor, der alle Cookies im Zusammenhang mit dieser Website entfernt. Ein Handler bringt in diesem Fall weniger Overhead mit sich und generiert nur relativ wenig Code, wenn er zur Laufzeit kompiliert wird.

Codebeispiel Logout.ashx, aufzurufen z.B. über lnkLogout.NavigateUrl = "~/Logout.ashx";

<%@ WebHandler Language="C#" Class="Logout" %>

//when logging out remove all cookies related to the site
//instead of just removing the forms authentication cookie
using System;
using System.Web;
using System.Web.Security;
using System.Collections.Generic;
public class Logout : IHttpHandler
{
    public void ProcessRequest (HttpContext context)
    {
     /// Expire all the cookies
        List<string> cookiesToClear = new List<string>();
        foreach (string cookieName in context.Request.Cookies)
       {
            HttpCookie cookie = context.Request.Cookies[cookieName];
            cookiesToClear.Add(cookie.Name);
       }
       foreach (string name in cookiesToClear)
       {
           HttpCookie cookie = new HttpCookie(name, string.Empty);
           cookie.Expires = DateTime.Today.AddYears(-1);
           context.Response.Cookies.Set(cookie);
       }
        context.Response.Redirect"~/Default.aspx");
    }
    public bool IsReusable
    {
         get
        {
            return true;
         }
     }
}

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

ASP.NET

Warum verhalten sich Menschen irrational, wenn es ums Geld geht?

by rolosee 4. June 2008 08:15

Dieser Frage geht ein Artikel im Magazin Technology Review (06/2008, S. 32 ff.) nach. Auf dem Gebiet der Neuroökonomie sollen Forschungen mittels Kernspintomografen Antworten auf solche Fragen finden. Die Ergebnisse sind jedoch z.T. umstritten. Es wurde beispielsweise nachgewiesen, dass im Gehirn ohne Kenntnis der Getränkemarke ein "Belohnungszentrum" beim Trinken von Pepsi-Cola weitaus aktiver war als bei Coca-Cola. Teilte man den Probanten die Marken vor dem Test mit, fiel das Untersuchungsergebnis umgekehrt aus. Hmm, ist das nun glaubwürdig oder nicht?

Interessant auch ein weiteres Untersuchungsergebnis:

Offensichtlich kann zudem nicht nur eine gut etablierte Marke, sondern auch einfach ein hoher Preis besonders lecker schmecken: Vor einigen Monaten setzte der Wirtschaftsforscher Antonio Rangel vom Caltech 20 Versuchspersonen verschiedene Weinproben vor und nannte ihnen dabei einen Preis. Je teurer der edle Tropfen angeblich war, so zeigte sich, desto stärker war das Belohnungszentrum im Hirn aktiv. Allerdings hatten die Forscher die Preisschilder ausgetauscht - die Probanten mochten den billigen Wein lieber, wenn er ihnen als teuer verkauft wurde, und den eigentlich hochwertigen Wein weniger, wenn er günstiger war. "Die meisten Menschen glauben, dass Preis und Qualität voneinander abhängen, daher ist es für das Gehirn nur natürlich, den Preis bei der Einschätzung des Geschmacks mit einzubeziehen", erklärt Rangel. ... Das Experiment habe gezeigt, wie wenig das subjektive Erleben eines Produkts mit seinen eigentlichen Qualitäten zu tun habe - und wie die Erwartung guter Qualität die emotionalen Zentren im Gehirn der Konsumenten anspreche.

Die geschilderten Verhaltensweisen kann ich auch an meiner Person entdecken. Dennoch bringen mich die Untersuchungsergebnisse ins Grübeln. Wie oft haben schon seriöse Untersuchungen aufgezeigt, dass z.B. das Ketchup bei Aldi von der Qualität her besser ist, als ein Markenketchup. Kürzlich war erst der Test unterschiedlicher Biersorten im Fernsehen zu sehen. Ohne Kenntnis der Marke haben hier günstigere Produkte sehr gut abgeschnitten.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Allgemein | IT - Menschen

ScriptManager in Masterpage einbinden

by rolosee 28. May 2008 07:07

Die Arbeit mit ASP.NET AJAX ist eine prima Sache. Mit relativ geringem Aufwand lassen sich AJAX Funktionalitäten in einer Website integrieren. Auf der "AJAX-enabled" aspx-Seite wird im Normalfall innerhalb des Forms der ScriptManager registriert und schon ist auf dieser Seite z.B. das UpdatePanel anwendbar: <asp:ScriptManager ID="ScriptManager1" runat="server" />.   Bisher bin ich davon ausgegangen, dass bei Verwendung des AJAX ControlToolKits ACT mit all seinen schönen Extender Controls statt des herkömmlichen ScriptManagers der zugehörige AjaxControlToolKitScriptManager eingebunden werden muss: <ajaxToolkit:ToolkitScriptManager ID="ScriptManager1" runat="server" />.

Probleme sind aufgetreten, als ich auf einer aspx-Seite mit dem ACT-ScriptManager ein Usercontrol eingebunden habe, welches einen ScriptManagerProxy benötigte, da auf einer aspx-Seite nur EIN ScriptManager erlaubt ist. Es gibt jedoch keinen ScriptManagerProxy für das ACT. Ein befreundeter Entwickler gab mir den Tipp, doch statt des ACT ScriptManagers den herkömmlichen ScriptManager wieder einzubinden. Der ACT ScriptManager wird vom ScriptManager abgeleitet, so dürften hier keine Probleme zu erwarten sein. Nun ist es auch bei der Arbeit mit einer Masterpage möglich, mit dem ScriptManager, dem ScriptManagerProxy und mit dem ACT zu arbeiten.

Mögliche Einbindung des ScriptManagers im Codebehind der Masterpage:

        /// <summary>
        /// preInit event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected override void OnPreInit(EventArgs e)
        {
            //adds a global scriptManager to the form in masterpage
            //to use it for Ajax in ascx controls via scriptManagerProxy
            if (ScriptManager.GetCurrent(this.Page) == null)
            {
                ScriptManager Manager = new ScriptManager();
                Manager.EnablePartialRendering = true;

                foreach (Control c in this.Controls)
                {
                    if (c is HtmlForm)
                    {
                        c.Controls.AddAt(0, Manager);
                    }
                }
            }
            base.OnPreInit(e);
        }

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Ajax | WEB 2.0

Silverlight 2 Roadmap

by rolosee 8. April 2008 07:07

Relativ aktuelle Aussagen zur Roadmap von Silverlight 2 sind kann man auf der Website internetnews erfahren. Hier einige Auszüge aus den Informationen von Ashish Thapliyal:

We are targeting late Summer [for final release]," Thapliyal's post said. Beta 2 will also feature what Microsoft calls a "Go Live" license, which enables developers to write commercial applications using the beta code, the post continued. Beta 1 comes with a "non-commercial" Go Live license. A Microsoft spokesperson described the posting, which was evidently not sanctioned by executives, as being "somewhat correct."

"Silverlight 2 is slated to RTW [release to Web] in the fall. One thing to keep in mind with these dates is that ultimately it’s the quality of the product and ability to satisfy customer needs that drives when a product sees the light of day," the spokesperson told InternetNews.com in an e-mail. Microsoft introduced Silverlight a year ago, and shipped Version 1 last summer. However, Silverlight 1 only supports applications written using JavaScript. Version 2, in comparison, will support applications written using Visual Studio and the .NET Framework. That means developers will be able to use core development languages like C# and Visual Basic.net to write for Silverlight 2.

Perhaps a little ironically, Version 2 was originally named Version 1.1, but Microsoft renumbered the release in November to better reflect the significance of the release – particularly its ability to support the Visual Studio languages. "To me, it's what turns Silverlight from a streaming video plug-in into a development platform that you can actually write applications for," Greg DiMichillie, lead analyst for application platforms at research firm Directions on Microsoft, told InternetNews.com when Microsoft changed the numbering in November.

At last month's MIX08 conference, Scott Guthrie, corporate vice president of developer platforms, told the audience that Silverlight 1 has been attracting 1.5 million downloads per day. That may help Microsoft to get a leg up on Adobe's (NASDAQ: ADBE) competing Flash technology, which that company estimates is already on 90 percent of all PCs in use.

The blog post also disclosed that the move from Beta 1 to Beta 2 would cause developers some problems, although Thapliyal did not describe them. "There will be breaking changes between Beta 1 and Beta 2 of Silverlight 2 but the changes will not be drastic between Beta 2 and [the] Final Release …. Also, if you develop your websites using 1.0, it will be compatible when 2.0 comes out …. There is only one Silverlight so all the capabilities of 1.0 will be unified in the 2.0 release," the post said.

Lassen wir uns in diesem Sinne überraschen, wie sich Silverlight 2 als Konkurrenz zu Flash weiter etablieren kann.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Silverlight - WPF | Microsoft

Building a Web 2.0 Portal with ASP.NET 3.5

by rolosee 1. March 2008 16:48

Unter diesem Titel hat Omar AL Zabir sein erstes Buch veröffentlicht.

Dieses brandneue Buch beschreibt in 10 Kapiteln die Programmierung eines komplett Drag and Drop fähigen Ajax Web Portals. Dabei finden die aktuellsten Techniken von Microsoft Anwendung. Für das UI ASP.NET 2.0/3.5 sowie ASP.NET AJAX 1.0, für das Business Layer WPF als eine Kollektion von Workflows und für die Datenzugriffsschicht LINQ to SQL/LINQ to XML.

Der Mitbegründer und CTO von Pageflakes Al Zabir entwirft einen Open Source Ajax-Portal Prototypen, erläutert dabei Design- und Architekturherausforderungen, fortgeschrittene Ajax-Konzepte, Performance optimierende Techniken und wie serverseitige Skalierungsprobleme lösbar sind. Er baut dabei auf seinen Erfahrungen auf, die er in den beiden letzten Jahren bei Pageflakes gesammelt hat. Nach dem ersten Durchlesen des Buches muss ich dem Satz zustimmen, der auf der Rückseite des Buches abgedruckt ist: "If you think you're well versed in ASP.NET, think again".

Der Code des Open Source Projektes kann unter www.codeplex.com/dropthings/ downgeloadet werden. Wer DropThings live in Action sehen möchte, kann auf www.dropthings.com vorbeischauen.

Für ASP.NET Webentwickler, die sich auf Höhe der Zeit bewegen wollen, ist dieses Buch m. E. Pflichtlektüre.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Ajax | WEB 2.0 | WPF | ASP.NET

Powered by BlogEngine.NET 1.1.0.7
ASP.NET Version: 2.0.50727.1433

der Autor

Roland See Roland See
Senior Software Developer bei JobScout24. Weitere Infos gibt es hier.
Wickendorf, Oberfranken, Deutschland.

E-Mail Send mail

Letzte Beiträge

Disclaimer

Bei den in diesem Blog ausgedrückten Meinungen handelt es sich ausschließlich um meine persönlichen Ansichten.

© Copyright 2008

einloggen