locked
Controle ASP Silverlight OnPluginError RRS feed

  • Question

  • En testant ce bout de code (en modifiant le N°version minimum à 6) dans Le code suivant, l'erreur est bien générée mais pas comme il faut...

    throw new Error(errMsg); plante

    <%@ Page Language="C#" AutoEventWireup="true" %>
    
    <%@ Register Assembly="System.Web.Silverlight" Namespace="System.Web.UI.SilverlightControls"
        TagPrefix="asp" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" style="height:100%;">
    <head runat="server">
        <title>Test Page For HtmlInteraction_CS</title>
        <style type="text/css">
        html, body {
    	    height: 100%;
    	    overflow: auto;
        }
        body {
    	    padding: 0;
    	    margin: 0;
        }
        #silverlightControlHost {
    	    height: 100%;
    	    text-align:center;
        }
        </style>
        <script type="text/javascript" src="Silverlight.js"></script>
        <script type="text/javascript">
            function onSilverlightError(sender, args) {
                var appSource = "";
                if (sender != null && sender != 0) {
                    appSource = sender.get_source();
                }
    
                var errorType = args.ErrorType;
                var iErrorCode = args.ErrorCode;
    
                if (errorType == "ImageError" || errorType == "MediaError") {
                    return;
                }
    
                var errMsg = "Erreur non gérée de l'application Silverlight" + appSource + "\n";
    
                errMsg += "Code : " + iErrorCode + "    \n";
                errMsg += "Catégorie : " + errorType + "       \n";
                errMsg += "Message : " + args.ErrorMessage + "     \n";
    
                if (errorType == "ParserError") {
                    errMsg += "Fichier : " + args.xamlFile + "     \n";
                    errMsg += "Ligne : " + args.lineNumber + "     \n";
                    errMsg += "Position : " + args.charPosition + "     \n";
                }
                else if (errorType == "RuntimeError") {
                    if (args.lineNumber != 0) {
                        errMsg += "Ligne : " + args.lineNumber + "     \n";
    
                        errMsg += "Position : " + args.charPosition + "     \n";
                    }
                    errMsg += "Nom de la méthode : " + args.methodName + "     \n";
                }
                throw new alert(errorType + "/" + errMsg);
            }
        </script>
    
        <script type="text/javascript">
            
            function sayHello(fname)
            {
                var slhost = document.getElementById("Xaml1");
                slhost.content.SilverlightLearn.SayHelloToMe(fname);
            }
            
            function sayGoodbye(fname)
            {
                var box = document.getElementById("HtmlText1");
                box.value = fname;
    
                // Added the following line to open the report form
                // we'll send it the parameters provided
                window.open("Report.aspx"+fname,"_Blank");
            }
            
        
        </script>
    </head>
    <body style="height:100%;margin:0;">
        <form id="form1" runat="server" style="height:100%;">
            <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
            
            <asp:Silverlight ID="Xaml1" runat="server" 
            Source="~/ClientBin/HtmlInteraction_CS.xap" 
            AutoUpgrade="true"  MinimumVersion="6.0" OnPluginError="onSilverlightError"
            Width="100%" Height="100%"  />
            
            <input type="text" id="HtmlText1" style="width:200px" />
        </form>
    </body>
    </html>


    FB

    mardi 13 mars 2012 21:07

Réponses

  • Bonjour,

    Avez-vous essayé de recréer un projet Silverlight + site web ? Cela vous donnera un exemple de page qu'il faut créer dans votre site web.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    mercredi 14 mars 2012 09:52
    Modérateur

Toutes les réponses