C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■5179  Re[12]: From1からFrom2への構造体渡し
□投稿者/ よこやり -(2007/07/06(Fri) 10:28:04)
    > 受け取り
    > Public Sub mfGetTime(ByVal sFROM As String)
    > '処理開始時間
    > psFROM = sFROM
    > End Sub
    >
    > これでは、駄目なんですかね??

    試してみられてどうでした?
    時間をString型で値渡ししていることを忘れずに.
記事No.5139 のレス /過去ログ15より / 関連記事表示
削除チェック/

■49533  Re[3]: ウィンドウタイトルが変更出来ない
□投稿者/ おのでら -(2010/05/07(Fri) 12:55:14)
>
    2010/05/07(Fri) 12:56:33 編集(投稿者)

    おのでらです。

    > 私が使用している参考書はFormで解説してあります。
    > その参考書では、Window1クラス以外のクラスから直接ウィンドウのタイトルを変更できていました。
    > その為、WPFでも同じように、window1クラス以外のクラスでも、直接ウィンドウタイトルを変更出来るのか?
    > と思った次第です。

    あーなるほど、理解できました。これは VB.NET 特有の「暗黙フォームインスタンス」でタイトル名を指定しているのですね。
    VB.NET の Windows Form では可能なのですが、その他の言語、また Windows Form 以外のフレームワークでは
    このような設定の仕方はできません。VB6 以前の機能の遺産として残っているものですね。

    WPF は Windows Form とはアプリケーションのフレームワークとしては別物なので上記の方法は使えません。
    別クラスでタイトルを設定するには Window クラスのインスタンスを別のクラスに渡してあげる必要があります。

    Class Window1
    Dim change_title As New Change_Title

    Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
    change_title.Start(Me) ' Me で自分自身の Window のインスタンスを渡す
    End Sub
    End Class

    Public Class Change_Title
    Public Sub Start(ByVal window As Window)
    window.Title = "別なタイトル"
    End Sub
    End Class


    > ウィンドウに置いたコントロールの表示内容を変更したいとき等は、
    > 基本的にwindow1クラスで.Contentなり.Textなりに値を代入していく方がよいのでしょうか?
    > そして、その代入する値を計算する役割だけを他のクラスに持たせるといった方がよいのでしょうか?

    先ほど示した方法で Window のインスタンスを別なクラスに渡して設定する方法もありますし、
    Window1 クラス内で直接設定する方法もあります。

    また WPF では MVVMパターン (Model-View-ViewModel デザイン パターン) と呼ばれる
    デザイン パターンで UI のパラメータを更新する方法がよくつかわれます。
    View のコントロールなどのパラメータへ直接コーディングせず、バインディングによって値の更新や受け渡しを実装します。
    MVVMパターンについては公式サイトなどにも載っているので調べてみるといいでしょう。

    ・Model-View-ViewModel デザイン パターンによる WPF アプリケーション(http://msdn.microsoft.com/ja-jp/magazine/dd419663.aspx)

    上記のリンク先はいきなり全てを理解するのは難しいと思いますので、他のサイトや書籍なんかで調べてみてください。

    (ここなんか比較的小規模な実装パターンでしょうか)
    http://shinshu.fm/MHz/88.44/archives/0000285284.html
記事No.49390 のレス /過去ログ83より / 関連記事表示
削除チェック/

■85284  C# MVCでエラーページを統一したい
□投稿者/ はな -(2017/10/03(Tue) 11:35:03)

    分類:[ASP.NET (C#)] 

    MVC 4
    .Net フレームワーク 4
    Windows Server 2008 R2
    IIS 7
    Visual Studio 2013
    C#
    で開発してます。

    エラー処理をGlobal.asax.csのApplication_Errorに記述してます。

    http://localhost/hogehoge
    でエラー発生したときは意図したページが表示されますが
    http://サーバ/hogehoge
    でエラー発生したときは
    Views/Shared/Error.aspx
    のページが表示されてしまいます。

    localhostとサーバで同じページを表示するにはどうしたらいいでしょうか?
    Error.aspxはエラー内容が表示されない静的なページなので、サーバにアクセスした場合もエラー内容を表示したいです。

    protected void Application_Error(Object sender, EventArgs e)
    {
    Exception exception = Server.GetLastError();
    if (exception == null) {
    return;
    }

    try {
    // ログ出力
    } catch (Exception ex) {
    }

    Server.ClearError();

    HttpContext httpContext = ((MvcApplication)sender).Context;
    httpContext.ClearError();
    httpContext.Response.Clear();
    httpContext.Response.StatusCode = 200;
    httpContext.Response.TrySkipIisCustomErrors = true;
    RouteData routeData = new RouteData();
    routeData.Values["action"] = "showError";
    routeData.Values["controller"] = "Login";
    routeData.Values["message"] = exception.Message;
    routeData.Values["stackTrace"] = exception.StackTrace;
    Controller controller = new LoginController();
    ((IController)controller).Execute(new RequestContext(new HttpContextWrapper(httpContext), routeData));
    }
親記事 /過去ログ146より / 関連記事表示
削除チェック/

■85285  Re[1]: C# MVCでエラーページを統一したい
□投稿者/ WebSurfer -(2017/10/03(Tue) 13:15:00)
    No85284 (はな さん) に返信

    > localhostとサーバで同じページを表示するにはどうしたらいいでしょうか?

    その「locakhost」と「サーバー」で何が違うのでしょう?

    想像ですが、

    「locakhost」は管理者権限で立ち上げた Visual Studio から F5 または Ctrl + F5 で
    アプリを IIS Express 上で実行、「サーバー」は運用環境の Web サーバー (IIS) でア
    プリを動かしている ⇒ ワーカープロセスのアクセス権が違う ⇒ 「サーバー」ではワー
    カープロセスにログファイルへのアクセス権がない ⇒ ログを書き込もうとすると例外
    がスローされる ⇒ 結果、Error.aspx が表示される

    ・・・というようなことはないでしょうか?

    開発マシンの OS が Professional 版であれば、開発環境でも IIS 上で Web アプリを動
    かしてデバッグできるので、まずそれをやってみることをお勧めします。
記事No.85284 のレス /過去ログ146より / 関連記事表示
削除チェック/

■85286  Re[2]: C# MVCでエラーページを統一したい
□投稿者/ はな -(2017/10/03(Tue) 13:45:09)
    ローカル環境(Windows7)のIISでは意図したエラーページに遷移できます。

    また、FileIOのようなRuntimeExceptionではサーバへのアクセスでもエラー内容が表示されました。

    MyExceptionをスローした場合、localhostへのアクセスとサーバへのアクセスで表示するページが異なります。


    ■localhostとサーバが同じページを表示
    RuntimeException・・・エラー内容を表示するページ
    アドレス不正(Error.aspxを削除)・・・エラー内容を表示するページ

    ■localhostとサーバで違うページへ遷移
    MyException・・・サーバ:静的なエラーページを表示、localhost:エラー内容表示
記事No.85284 のレス /過去ログ146より / 関連記事表示
削除チェック/

■85289  Re[3]: C# MVCでエラーページを統一したい
□投稿者/ WebSurfer -(2017/10/03(Tue) 17:04:26)
    No85286 (はな さん) に返信

    > ローカル環境(Windows7)のIISでは意図したエラーページに遷移できます。

    ワーカープロセスのアクセス権の問題ではないと言ってます?

    > また、FileIOのようなRuntimeExceptionではサーバへのアクセスでもエラー内容が表示されました。
    > MyExceptionをスローした場合、localhostへのアクセスとサーバへのアクセスで表示するページが異なります。

    RuntimeException、MyException とか意味不明ですが、具体的にどういうものですか?


    情報不足でよくわからないのでこれまた想像ですが、ワーカープロセスのアクセス権は関係ないとして・・・

    Visual Studo のテンプレートを使って MVC4 アプリのプロジェクトを生成すると、HandleError 属性がグローバ
    ルに付与され、web.config の customErrors 要素は設定されない(mode はデフォルトの RemoteOnly になるはず
    です。

    その場合、アクションメソッドで例外がスローされると、

    (1) 開発マシンすなわち local では HandleError 属性では処置されず、Global.asax の Application_Error ハ
    ンドラに処置が飛ぶ。

    (2) サーバーすなわち remote では HandleError 属性で処置されてしまって Application_Error ハンドラが呼
    ばれない。

    結果、(1) では Application_Error ハンドラでレンダリングされた情報が表示される、(2) では Error.aspx が
    表示される。

    RuntimeException、MyException で結果が違うのは、前者がコントローラーレベルでの例外ではない、すなわち
    HandleError 属性では処置できず、local, remote に関わらず Application_Error ハンドラが呼ばれた。

    ・・・ということではなかろうかと想像をたくましくして思いました。
記事No.85284 のレス /過去ログ146より / 関連記事表示
削除チェック/

■85287  Re[3]: C# MVCでエラーページを統一したい
□投稿者/ はな -(2017/10/03(Tue) 16:40:30)
    Web.configに
    <customErrors mode="Off"></customErrors>
    を書いたら解決しました。

    httpErrorsの方ばかりいじくってました。
記事No.85284 のレス / END /過去ログ146より / 関連記事表示
削除チェック/

■85290  Re[4]: C# MVCでエラーページを統一したい
□投稿者/ WebSurfer -(2017/10/03(Tue) 17:06:28)
    No85287 (はな さん) に返信
    > Web.configに
    > <customErrors mode="Off"></customErrors>
    > を書いたら解決しました。

    レスが前後してしまいましたが、私の想像は当たっていたようですね。
記事No.85284 のレス / END /過去ログ146より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -