0


0

Silverlightアプリを含むAspxページを含むマスターページ

新しいSilverlightアプリを作成するとき、VS2010はaspx拡張子を持つ次のページを生成します

<%@ Page Language="C#"  AutoEventWireup="true" %>




    SilverlightApp2

    html, body {
        height: 100%;
        overflow: auto;
    }
    body {
        padding: 0;
        margin: 0;
    }
    #silverlightControlHost {
        height: 100%;
        text-align:center;
    }



        function onSilverlightError(sender, args) {
            var appSource = "";
            if (sender != null && sender != 0) {
              appSource = sender.getHost().Source;
            }

            var errorType = args.ErrorType;
            var iErrorCode = args.ErrorCode;

            if (errorType == "ImageError" || errorType == "MediaError") {
              return;
            }

            var errMsg = "Unhandled Error in Silverlight Application " +  appSource + "\n" ;

            errMsg += "Code: "+ iErrorCode + "    \n";
            errMsg += "Category: " + errorType + "       \n";
            errMsg += "Message: " + args.ErrorMessage + "     \n";

            if (errorType == "ParserError") {
                errMsg += "File: " + args.xamlFile + "     \n";
                errMsg += "Line: " + args.lineNumber + "     \n";
                errMsg += "Position: " + args.charPosition + "     \n";
            }
            else if (errorType == "RuntimeError") {
                if (args.lineNumber != 0) {
                    errMsg += "Line: " + args.lineNumber + "     \n";
                    errMsg += "Position: " +  args.charPosition + "     \n";
                }
                errMsg += "MethodName: " + args.methodName + "     \n";
            }

            throw new Error(errMsg);
        }

マスターページを使用するようにページを変更する方法がわからない

<%@ Page Language="C#"  MasterPageFile="~/Site.master" AutoEventWireup="true" %>

ありがとう

4 Answer


1


答えるには遅すぎますが、答えを探している他の人にとっては役立つかもしれません。

JavaScriptコードはすべてヘッダープレースホルダーに送られ、DaveBによって以前に述べられました。

    // JavaScript code goes here

2番目のformタグは、マスターページで既に宣言されているため、Contentタグ内では使用しません。


また、FirefoxはSilverlightコンテンツをレンダリングしないため、 `width =" 100% "`と `height =" 250% "`の使用は避けてください。


0


とても簡単です…​ xapファイルを、ページ内で必要な別のFlashまたは他のサードパーティコントロールと見なしてください。

WebContentFormを作成し、任意のマスターページからそれを継承してから、aspxページにSLを統合する方法に関する以下の記事のリンクをたどってください。

XAPをさまざまな方法で統合する方法に関する詳細情報は次のとおりです。http://msdn.microsoft.com/en-us/library/cc838145%28VS.95%29.aspx

よろしく。


0


それはあなたが提案しているものですか?

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApp2.WebForm1" %>

これは私に次のエラーを与えます

The type or namespace name 'Silverlight' does not exist in the namespace 'System.Web.UI.WebControls' (are you missing an assembly reference?)

ただし、VS2010によって生成された上記のページは、同じプロジェクトで正常に動作します


0


これを試してみてください。 近いはずです。 アイデアは、スタイルとJavascriptの部分をページのヘッド部分のコンテンツコントロールに配置し、Silverlightコードをページの本体のコンテンツコントロールに配置することです。

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="BmwConfig.WebApp2.WebForm1" %>



    html, body {
        height: 100%;
        overflow: auto;
    }
    body {
        padding: 0;
        margin: 0;
    }
    #silverlightControlHost {
        height: 100%;
        text-align:center;
    }



        function onSilverlightError(sender, args) {
            var appSource = "";
            if (sender != null && sender != 0) {
              appSource = sender.getHost().Source;
            }

            var errorType = args.ErrorType;
            var iErrorCode = args.ErrorCode;

            if (errorType == "ImageError" || errorType == "MediaError") {
              return;
            }

            var errMsg = "Unhandled Error in Silverlight Application " +  appSource + "\n" ;

            errMsg += "Code: "+ iErrorCode + "    \n";
            errMsg += "Category: " + errorType + "       \n";
            errMsg += "Message: " + args.ErrorMessage + "     \n";

            if (errorType == "ParserError") {
                errMsg += "File: " + args.xamlFile + "     \n";
                errMsg += "Line: " + args.lineNumber + "     \n";
                errMsg += "Position: " + args.charPosition + "     \n";
            }
            else if (errorType == "RuntimeError") {
                if (args.lineNumber != 0) {
                    errMsg += "Line: " + args.lineNumber + "     \n";
                    errMsg += "Position: " +  args.charPosition + "     \n";
                }
                errMsg += "MethodName: " + args.methodName + "     \n";
            }

            throw new Error(errMsg);
        }