asp.net webappモデルからのJS起動など

asp.net webappのモデル側からJS(例えばwindowをクローズ等)を起動できないものかと、以下のようなコードをチョット試してみた・・・

@page
@model TestModel
・・・
<script type="text/javascript">
@Html.Raw(Model.ExecScript)
</script>
public class TestModel : PageModel {
  ・・・
  public string ExecScript;
  public void OnPost(・・・) {
    ・・・
    ExecScript = @"window.close();";
    ・・・
}

結論としてはうまく動作。ただ、セキュリティ上Html.Rawはあまり使うべきではないのかな?

ちなみに、gijgoのTreeViewのdataSource指定なんかにもHtml.Rawを使って動的にTreeの内容を変更することも出来たけど、他にいいやり方あるかな?

<script type="text/javascript">
    $(document).ready(function() {
        $('#tree').tree({
            uiLibrary: 'bootstrap4',
            dataSource: @Html.Raw(Model.TreeItems), /* データソース(JSON)はモデルで作成 */
            primaryKey: 'id',
            imageUrlField: 'flagUrl'
        });
    });

takezou について

ソフトウェア開発会社(ITと言う言葉は大嫌い)で働く、元技術者。 未だに、社内システム位は作ってますが・・・ プログラミング言語はC#が好き。
カテゴリー: .NET, asp.net core, C#, 技術系 パーマリンク

asp.net webappモデルからのJS起動など への1件のフィードバック

  1. takezou のコメント:

    treeの場合は、dataSourceにURLを指定できるので、Web APIのURLを指定するようにした方が良いかもね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください