/// <summary>
    /// ddlMDropDownList2のSelectedIndexChangedイベント
    /// </summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    public string UOC_ddlMDropDownList2_SelectedIndexChanged(FxEventArgs fxEventArgs)
    {
        // テキストボックスの値を変更
        this.TextBox4.Text = "通常のポストバック(DDLのセレクト インデックス チェンジ)";

        return "";
    }
    /// <summary>btnMButton2のクリックイベント</summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    public string UOC_btnMButton2_Click(FxEventArgs fxEventArgs)
    {
        // テキストボックスの値を変更
        this.TextBox2.Text = "通常のポストバック(ボタンクリック)";

        return "";
    }
    /// <summary>btnMButton1のクリックイベント</summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    public string UOC_btnMButton1_Click(FxEventArgs fxEventArgs)
    {
        // テキストボックスの値を変更
        this.TextBox1.Text = "ajaxのポストバック(ボタンクリック)";

        // ajaxのイベントハンドラでは画面遷移しないこと。
        return "";
    }
    /// <summary>
    /// ddlMDropDownList1のSelectedIndexChangedイベント
    /// </summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    public string UOC_ddlMDropDownList1_SelectedIndexChanged(FxEventArgs fxEventArgs)
    {
        // テキストボックスの値を変更
        this.TextBox3.Text = "ajaxのポストバック(DDLのセレクト インデックス チェンジ)";

        // ajaxのイベントハンドラでは画面遷移しないこと。
        return "";
    }
Ejemplo n.º 5
0
    /// <summary>
    /// btnButton1のクリックイベント
    /// </summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    protected string UOC_btnButton1_Click(FxEventArgs fxEventArgs)
    {
        if (this.GetContentWebControl("btnButton1") != null)
        {
            Response.Write("おk");
        }

        return "";
    }
Ejemplo n.º 6
0
    /// <summary>btnButton10のクリックイベント</summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    /// <remarks>違法な画面遷移(Transfer)(×)</remarks>
    protected string UOC_btnButton10_Click(FxEventArgs fxEventArgs)
    {
        if (this.IsFx)
        {
            this.FxTransfer("./WebForm5.aspx");
        }
        else
        {
            Server.Transfer("./WebForm5.aspx");
        }

        return "";
    }
Ejemplo n.º 7
0
    /// <summary>btnButton15のクリックイベント</summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    /// <remarks>違法な画面遷移(Redirect)(×)</remarks>
    protected string UOC_btnButton15_Click(FxEventArgs fxEventArgs)
    {
        if (this.IsFx)
        {
            this.FxRedirect("./WebForm5.aspx");
        }
        else
        {
            Response.Redirect("./WebForm5.aspx");
        }

        return "";
    }
Ejemplo n.º 8
0
    /// <summary>
    /// lbnMLinkButton4のクリックイベント
    /// </summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    public string UOC_lbnMLinkButton4_Click(FxEventArgs fxEventArgs)
    {

        return "WebForm4";
    }
Ejemplo n.º 9
0
 /// <summary>btnButton3のクリックイベント</summary>
 /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
 /// <returns>URL</returns>
 /// <remarks>画面遷移不可能(×)</remarks>
 protected string UOC_btnButton5_Click(FxEventArgs fxEventArgs)
 {
     return "1→5";
 }
Ejemplo n.º 10
0
 /// <summary>btnButton28のクリックイベント</summary>
 /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
 /// <returns>URL</returns>
 /// <remarks>dialog</remarks>
 protected string UOC_btnButton28_Click(FxEventArgs fxEventArgs)
 {
     // ブラウザ ウィンドウ別セッション領域 - 取得
     this.TextBox1.Text = (string)this.GetDataFromBrowserWindow("msg");
     return "";
 }
Ejemplo n.º 11
0
    /// <summary>rptRepeater1のコマンドイベント</summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    protected string UOC_rptRepeater1_ItemCommand(FxEventArgs fxEventArgs)
    {
        System.Diagnostics.Debug.WriteLine("--------------------");
        System.Diagnostics.Debug.WriteLine("ButtonID:" + fxEventArgs.ButtonID);
        System.Diagnostics.Debug.WriteLine("InnerButtonID:" + fxEventArgs.InnerButtonID);
        System.Diagnostics.Debug.WriteLine("PostBackValue:" + fxEventArgs.PostBackValue);

        return "";
    }
Ejemplo n.º 12
0
    /// <summary>バッチ更新ボタン</summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    protected string UOC_btnBatUpd_Click(FxEventArgs fxEventArgs)
    {
        // 引数クラスを生成
        _3TierParameterValue parameterValue = new _3TierParameterValue(
            this.ContentPageFileNoEx, fxEventArgs.ButtonID, "BatchUpdate",
            (string)Session["DAP"], (MyUserInfo)this.UserInfo);

        // テーブル
        parameterValue.TableName = "Products";
        
        // 主キーとタイムスタンプ列
        parameterValue.AndEqualSearchConditions = new Dictionary<string, object>();

        // 主キー列
        parameterValue.AndEqualSearchConditions.Add("ProductID", "");

        // タイムスタンプ列
        // ・・・

        // DataTableを設定
        parameterValue.Obj = (DataTable)Session["SearchResult"];

        // B層を生成
        _3TierEngine b = new _3TierEngine();

        // データ取得処理を実行
        _3TierReturnValue returnValue =
            (_3TierReturnValue)b.DoBusinessLogic(
                (BaseParameterValue)parameterValue, DbEnum.IsolationLevelEnum.ReadCommitted);

        // 結果表示
        //this.lblResult.Text = returnValue.Obj.ToString() + "件更新しました。";

        // 更新ボタンの非活性化
        this.btnBatUpd.Enabled = false;

        // 画面遷移しない。
        return string.Empty;
    }
Ejemplo n.º 13
0
 /// <summary>btnButton26のクリックイベント</summary>
 /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
 /// <returns>URL</returns>
 /// <remarks>dialog</remarks>
 protected string UOC_btnButton26_Click(FxEventArgs fxEventArgs)
 {
     this.ShowModalScreen("/Aspx/testScreenCtrl/WebForm5.aspx");
     return "";
 }
Ejemplo n.º 14
0
    /// <summary>gvwGridView1のSortingイベント</summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <param name="e">オリジナルのイベント引数</param>
    /// <returns>URL</returns>
    protected string UOC_gvwGridView1_Sorting(FxEventArgs fxEventArgs, GridViewSortEventArgs e)
    {
        // ソート条件の変更
        Session["SortExpression"] = e.SortExpression;

        if ((string)Session["SortDirection"] == "ASC")
        {
            e.SortDirection = SortDirection.Descending;
            Session["SortDirection"] = "DESC";
        }
        else
        {
            e.SortDirection = SortDirection.Ascending;
            Session["SortDirection"] = "ASC";
        }

        // 画面遷移しない。
        return string.Empty;
    }
Ejemplo n.º 15
0
 /// <summary>追加ボタン</summary>
 /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
 /// <returns>URL</returns>
 protected string UOC_btnInsert_Click(FxEventArgs fxEventArgs)
 {
     // 画面遷移(詳細表示)
     return "ProductsDetail.aspx";
 }
Ejemplo n.º 16
0
    /// <summary>検索ボタン</summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    protected string UOC_btnSearch_Click(FxEventArgs fxEventArgs)
    {
        // 更新ボタンの非活性化
        this.btnBatUpd.Enabled = false;

        // GridViewをリセット
        this.gvwGridView1.PageIndex = 0;
        this.gvwGridView1.Sort("", SortDirection.Ascending);

        // 検索条件の収集
        // AndEqualSearchConditions
        Dictionary<string, object> andEqualSearchConditions = new Dictionary<string, object>();
        andEqualSearchConditions.Add("ProductID", this.txtProductID_And.Text);
        andEqualSearchConditions.Add("ProductName", this.txtProductName_And.Text);

        //andEqualSearchConditions.Add("SupplierID", this.txtSupplierID_And.Text);
        andEqualSearchConditions.Add("SupplierID", this.ddlSupplierID_And.SelectedValue);
        //andEqualSearchConditions.Add("CategoryID", this.txtCategoryID_And.Text);
        andEqualSearchConditions.Add("CategoryID", this.ddlCategoryID_And.SelectedValue);

        andEqualSearchConditions.Add("QuantityPerUnit", this.txtQuantityPerUnit_And.Text);
        andEqualSearchConditions.Add("UnitPrice", this.txtUnitPrice_And.Text);
        andEqualSearchConditions.Add("UnitsInStock", this.txtUnitsInStock_And.Text);
        andEqualSearchConditions.Add("UnitsOnOrder", this.txtUnitsOnOrder_And.Text);
        andEqualSearchConditions.Add("ReorderLevel", this.txtReorderLevel_And.Text);
        andEqualSearchConditions.Add("Discontinued", this.txtDiscontinued_And.Text);
        Session["AndEqualSearchConditions"] = andEqualSearchConditions;

        // AndLikeSearchConditions
        Dictionary<string, string> andLikeSearchConditions = new Dictionary<string, string>();
        andLikeSearchConditions.Add("ProductID", this.txtProductID_And_Like.Text);
        andLikeSearchConditions.Add("ProductName", this.txtProductName_And_Like.Text);

        andLikeSearchConditions.Add("SupplierID", this.txtSupplierID_And_Like.Text);
        andLikeSearchConditions.Add("CategoryID", this.txtCategoryID_And_Like.Text);

        andLikeSearchConditions.Add("QuantityPerUnit", this.txtQuantityPerUnit_And_Like.Text);
        andLikeSearchConditions.Add("UnitPrice", this.txtUnitPrice_And_Like.Text);
        andLikeSearchConditions.Add("UnitsInStock", this.txtUnitsInStock_And_Like.Text);
        andLikeSearchConditions.Add("UnitsOnOrder", this.txtUnitsOnOrder_And_Like.Text);
        andLikeSearchConditions.Add("ReorderLevel", this.txtReorderLevel_And_Like.Text);
        andLikeSearchConditions.Add("Discontinued", this.txtDiscontinued_And_Like.Text);
        Session["AndLikeSearchConditions"] = andLikeSearchConditions;

        // OrEqualSearchConditions
        Dictionary<string, object[]> orEqualSearchConditions = new Dictionary<string, object[]>();
        orEqualSearchConditions.Add("ProductID", this.txtProductID_OR.Text.Split(' '));
        orEqualSearchConditions.Add("ProductName", this.txtProductName_OR.Text.Split(' '));
        orEqualSearchConditions.Add("SupplierID", this.txtSupplierID_OR.Text.Split(' '));
        orEqualSearchConditions.Add("CategoryID", this.txtCategoryID_OR.Text.Split(' '));
        orEqualSearchConditions.Add("QuantityPerUnit", this.txtQuantityPerUnit_OR.Text.Split(' '));
        orEqualSearchConditions.Add("UnitPrice", this.txtUnitPrice_OR.Text.Split(' '));
        orEqualSearchConditions.Add("UnitsInStock", this.txtUnitsInStock_OR.Text.Split(' '));
        orEqualSearchConditions.Add("UnitsOnOrder", this.txtUnitsOnOrder_OR.Text.Split(' '));
        orEqualSearchConditions.Add("ReorderLevel", this.txtReorderLevel_OR.Text.Split(' '));
        orEqualSearchConditions.Add("Discontinued", this.txtDiscontinued_OR.Text.Split(' '));
        Session["OrEqualSearchConditions"] = orEqualSearchConditions;

        // OrLikeSearchConditions
        Dictionary<string, string[]> orLikeSearchConditions = new Dictionary<string, string[]>();
        orLikeSearchConditions.Add("ProductID", this.txtProductID_OR_Like.Text.Split(' '));
        orLikeSearchConditions.Add("ProductName", this.txtProductName_OR_Like.Text.Split(' '));
        orLikeSearchConditions.Add("SupplierID", this.txtSupplierID_OR_Like.Text.Split(' '));
        orLikeSearchConditions.Add("CategoryID", this.txtCategoryID_OR_Like.Text.Split(' '));
        orLikeSearchConditions.Add("QuantityPerUnit", this.txtQuantityPerUnit_OR_Like.Text.Split(' '));
        orLikeSearchConditions.Add("UnitPrice", this.txtUnitPrice_OR_Like.Text.Split(' '));
        orLikeSearchConditions.Add("UnitsInStock", this.txtUnitsInStock_OR_Like.Text.Split(' '));
        orLikeSearchConditions.Add("UnitsOnOrder", this.txtUnitsOnOrder_OR_Like.Text.Split(' '));
        orLikeSearchConditions.Add("ReorderLevel", this.txtReorderLevel_OR_Like.Text.Split(' '));
        orLikeSearchConditions.Add("Discontinued", this.txtDiscontinued_OR_Like.Text.Split(' '));
        Session["OrLikeSearchConditions"] = orLikeSearchConditions;

        //// ElseSearchConditions
        //Dictionary<string, object> ElseSearchConditions = new Dictionary<string, object>();
        //ElseSearchConditions.Add("myp1", 1);
        //ElseSearchConditions.Add("myp2", 40);
        //Session["ElseSearchConditions"] = ElseSearchConditions;
        //Session["ElseWhereSQL"] = "AND [ProductID] BETWEEN @myp1 AND @myp2";

        // ソート条件の初期化
        Session["SortExpression"] = "ProductID"; // 主キーを指定
        Session["SortDirection"] = "ASC";        // ASCを指定

        // ページング
        this.gvwGridView1.AllowPaging = true;
        
        // gvwGridView1をObjectDataSourceに連結。
        this.gvwGridView1.DataSource = null;
        this.gvwGridView1.DataSourceID = "ObjectDataSource1";
        
        // ヘッダーを設定する。
        this.gvwGridView1.Columns[0].HeaderText = "削除";
        this.gvwGridView1.Columns[1].HeaderText = "更新"; 
        this.gvwGridView1.Columns[2].HeaderText = "ProductID";
        this.gvwGridView1.Columns[3].HeaderText = "ProductName";
        this.gvwGridView1.Columns[4].HeaderText = "SupplierID";
        this.gvwGridView1.Columns[5].HeaderText = "CategoryID";
        this.gvwGridView1.Columns[6].HeaderText = "QuantityPerUnit";
        this.gvwGridView1.Columns[7].HeaderText = "UnitPrice";
        this.gvwGridView1.Columns[8].HeaderText = "UnitsInStock";
        this.gvwGridView1.Columns[9].HeaderText = "UnitsOnOrder";
        this.gvwGridView1.Columns[10].HeaderText = "ReorderLevel";
        this.gvwGridView1.Columns[11].HeaderText = "Discontinued";

        // 画面遷移しない。
        return string.Empty;
    }
Ejemplo n.º 17
0
 /// <summary>btnButton1のクリックイベント</summary>
 /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
 /// <returns>URL</returns>
 protected string UOC_btnButton1_Click(FxEventArgs fxEventArgs)
 {
     // なにもしない。
     return "";
 }
Ejemplo n.º 18
0
    /// <summary>マスタページにイベントハンドラを実装可能にしたのでそのテスト。</summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    protected string UOC_btnMPButton_Click(FxEventArgs fxEventArgs)
    {
        Response.Write("UOC_btnMPButton_Clickを実行できた。");

        return "";
    }
Ejemplo n.º 19
0
 /// <summary>btnButton16のクリックイベント</summary>
 /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
 /// <returns>URL</returns>
 /// <remarks>違法な画面遷移(Redirect)(×)</remarks>
 protected string UOC_btnButton16_Click(FxEventArgs fxEventArgs)
 {
     this.ShowOKMessageDialog("ポストバックの", "テストです", FxEnum.IconType.Information, "テスト");
     return "";
 }
Ejemplo n.º 20
0
    /// <summary>gvwGridView1のコマンドイベント</summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    protected string UOC_gvwGridView1_RowCommand(FxEventArgs fxEventArgs)
    {
        // ソートの場合は無視
        if (fxEventArgs.InnerButtonID == "Sort") { return string.Empty; }

        // DataTableの取得
        DataTable dt = (DataTable)Session["SearchResult"];

        // インデックスを取得
        int index = int.Parse(fxEventArgs.PostBackValue);

        // e.NewSelectedIndexRowsのインデックスが一致しないので。
        // キーで探すのは主キーを意識するため自動生成では面倒になる。
        int i = -1;

        switch (fxEventArgs.InnerButtonID)
        {
            case "Delete":

                // 選択されたレコードを削除
                foreach (DataRow dr in dt.Rows)
                {
                    if (dr.RowState == DataRowState.Added)
                    {
                        // Added行はDeleteできないのでスキップ
                        continue;
                    }
                    else if (dr.RowState != DataRowState.Deleted)
                    {
                        // != Added、Deleted

                        // e.NewSelectedIndexとRowsのインデックスをチェック
                        i++;
                        if (index == i)
                        {
                            // 削除
                            dr.Delete();
                            break;
                        }
                    }
                    else
                    {
                        // Delete行は表示されないのでスキップ
                        continue;
                    }
                }

                break;

            case "Update":

                // 選択されたレコードを更新
                foreach (DataRow dr in dt.Rows)
                {
                    if (dr.RowState != DataRowState.Deleted)
                    {
                        // != Deleted

                        // e.NewSelectedIndexとRowsのインデックスをチェック
                        i++;
                        if (index == i)
                        {
                            // 更新
                            GridViewRow gvRow = this.gvwGridView1.Rows[index];
                            foreach (DataColumn dc in dt.Columns)
                            {
                                TextBox txtBox = ((TextBox)gvRow.FindControl("txt" + dc.ColumnName));

                                if(txtBox != null)
                                {
                                    dr[dc] = txtBox.Text;
                                }

                                #region 追加コード(ComboBox化)

                                DropDownList ddl = ((DropDownList)gvRow.FindControl("ddl" + dc.ColumnName));

                                if (ddl != null)
                                {
                                    dr[dc] = ddl.SelectedValue;
                                }

                                #endregion
                            }

                            break;
                        }
                    }
                    else
                    {
                        // Delete行はスキップ
                        continue;
                    }
                }

                break;

            default:
                // 不明
                return string.Empty;
        }

        // GridViewをリセット
        this.gvwGridView1.PageIndex = 0;
        this.gvwGridView1.Sort("", SortDirection.Ascending);

        // ページングの中止
        this.gvwGridView1.AllowPaging = false;

        // GridViewのDataSourceを変更してDataBindする。
        this.gvwGridView1.DataSource = dt;
        this.gvwGridView1.DataSourceID = null;
        this.gvwGridView1.DataBind();

        // DataTableの設定
        Session["SearchResult"] = dt;

        // 更新ボタンの活性化
        this.btnBatUpd.Enabled = true;

        // 画面遷移しない。
        return string.Empty;
    }
Ejemplo n.º 21
0
 /// <summary>btnButton21のクリックイベント</summary>
 /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
 /// <returns>URL</returns>
 /// <remarks>window open</remarks>
 protected string UOC_btnButton21_Click(FxEventArgs fxEventArgs)
 {
     this.ShowNormalScreen("./WebForm5.aspx");
     return "";
 }
Ejemplo n.º 22
0
    /// <summary>lbxListBox1のSelectedIndexChangedイベント</summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    protected string UOC_lbxListBox1_SelectedIndexChanged(FxEventArgs fxEventArgs)
    {
        System.Diagnostics.Debug.WriteLine("--------------------");
        System.Diagnostics.Debug.WriteLine("ButtonID:" + fxEventArgs.ButtonID);
        System.Diagnostics.Debug.WriteLine("InnerButtonID:" + fxEventArgs.InnerButtonID);
        System.Diagnostics.Debug.WriteLine("PostBackValue:" + fxEventArgs.PostBackValue);

        ListBox ddl = (ListBox)this.rptRepeater1.Items
            [int.Parse(fxEventArgs.PostBackValue)].FindControl("lbxListBox1");

        System.Diagnostics.Debug.WriteLine(ddl.SelectedValue);

        return "";
    }
Ejemplo n.º 23
0
 /// <summary>btnButton27のクリックイベント</summary>
 /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
 /// <returns>URL</returns>
 /// <remarks>dialog</remarks>
 protected string UOC_btnButton27_Click(FxEventArgs fxEventArgs)
 {
     // ブラウザ ウィンドウ別セッション領域 - 設定
     this.SetDataToBrowserWindow("msg", this.TextBox1.Text);
     return "";
 }
Ejemplo n.º 24
0
    /// <summary>btnButton2のクリックイベント</summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    protected string UOC_btnButton2_Click(FxEventArgs fxEventArgs)
    {
        // Repeater1に対する変更をDataTableに反映する。
        DataTable dt = this.RepeaterDataSource;

        // 変更の検知
        bool isUpd = false;

        for (int i = 0; i < this.rptRepeater1.Items.Count - 1; i++)
        {
            // Repeater1の行毎に処理
            DataRow dr = dt.Rows[i];

            // 変更されていればDataTableに反映(RowStateが変更される)
            TextBox txt = ((TextBox)this.rptRepeater1.Items[i].FindControl("TextBox1"));
            if (dr["textbox"].ToString() != txt.Text)
            {
                dr["textbox"] = txt.Text;
                isUpd = true;
            }

            // 変更されていればDataTableに反映(RowStateが変更される)
            CheckBox cbx = ((CheckBox)this.rptRepeater1.Items[i].FindControl("cbxCheckBox1"));
            //RadioButton cbx = ((RadioButton)this.rptRepeater1.Items[i].FindControl("rbnRadioButton1"));
            if ((bool)dr["checkbox"] != cbx.Checked)
            {
                dr["checkbox"] = cbx.Checked;
                isUpd = true;
            }

            // 変更されていればDataTableに反映(RowStateが変更される)
            DropDownList ddl = ((DropDownList)this.rptRepeater1.Items[i].FindControl("ddlDropDownList1"));
            //ListBox ddl = ((ListBox)this.rptRepeater1.Items[i].FindControl("lbxListBox1"));
            if (dr["dropdownlist"].ToString() != ddl.SelectedValue)
            {
                dr["dropdownlist"] = ddl.SelectedValue;
                isUpd = true;
            }
        }

        // 変更時のみ実行
        if (isUpd)
        {
            // 再データバインド
            this.RepeaterDataSource = dt;
            this.rptRepeater1.DataSource = dt;
            this.rptRepeater1.DataBind();
        }

        return "";
    }
Ejemplo n.º 25
0
    /// <summary>rbnRadioButton1のCheckedChangedイベント</summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    protected string UOC_rbnRadioButton1_CheckedChanged(FxEventArgs fxEventArgs)
    {
        System.Diagnostics.Debug.WriteLine("--------------------");
        System.Diagnostics.Debug.WriteLine("ButtonID:" + fxEventArgs.ButtonID);
        System.Diagnostics.Debug.WriteLine("InnerButtonID:" + fxEventArgs.InnerButtonID);
        System.Diagnostics.Debug.WriteLine("PostBackValue:" + fxEventArgs.PostBackValue);

        RadioButton cbx = (RadioButton)this.rptRepeater1.Items
            [int.Parse(fxEventArgs.PostBackValue)].FindControl("rbnRadioButton1");

        System.Diagnostics.Debug.WriteLine(cbx.Checked.ToString());

        return "";
    }
Ejemplo n.º 26
0
 /// <summary>
 /// ibnMImageButton1のクリックイベント
 /// </summary>
 /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
 /// <returns>URL</returns>
 protected string UOC_testScreenCtrl_ibnMImageButton1_Click(FxEventArgs fxEventArgs)
 {
     // 外部サイトへ(QueryString付き)
     return "google?q=WebForm1";
 }
Ejemplo n.º 27
0
        /// <summary>Page_Loadのイベントハンドラ</summary>
        private void Page_Load(object sender, EventArgs e)
        {
            // isNoSessionフラグをtrueに設定すると、当該画面でのみ以下の機能をOFFにして、
            // ・ボタン履歴情報記録機能
            // ・不正操作防止機能

            // 最後に

            // ・Session.Abandon();
            //  + Sessionタイムアウト検出用Cookieの消去

            // を実行する。

            // これにより、ログイン画面相当(先頭画面であること)で、
            // 基盤側の処理でSessionIDを返さないように都度クリア。

            // なお、次画面への遷移には、リダイレクトのGETを使用する。
            // (ブラウザウィンドウ スコープが自動消去されなくなるので必要であれば念の為)

            // 中間画面でこのフラグをTrueに設定した場合の動作保証はしない。
            // (IDEのインテリセンスに出ない(隠しコマンド的)扱いにする)

            bool isNoSession = this.IsNoSession;
            bool? canCheckIllegalOperation = this.CanCheckIllegalOperation;

            try
            {
                #region セッション スコープのロック

                // 2009/09/25-start

                // セッションステートレス対応
                if (HttpContext.Current.Session == null)
                {
                    // SessionがOFFの場合
                    this.SessionLock = new object();
                }
                else
                {
                    // チェック
                    this.SessionLock = Session[FxHttpSessionIndex.SESSION_LOCK];

                    if (this.SessionLock == null)
                    {
                        // nullの場合、新規生成
                        Session[FxHttpSessionIndex.SESSION_LOCK] = new object();
                        this.SessionLock = Session[FxHttpSessionIndex.SESSION_LOCK];
                    }
                    else
                    {
                        // 存在する。
                    }
                }

                // 2009/09/25-end

                #endregion

                // 念のためセッション単位でロック。
                lock (this.SessionLock)
                {
                    #region フレームワークの初期処理

                    #region マスタ ページの初期化

                    // コンテンツ ページのファイル名(拡張子抜き)を取り出す
                    //string[] aryContentPageFile = this.AppRelativeVirtualPath.Split('/');
                    //this.ContentPageFileNoEx = aryContentPageFile[aryContentPageFile.Length - 1].Split('.')[0];
                    this.ContentPageFileNoEx = PubCmnFunction.GetFileNameNoEx(this.AppRelativeVirtualPath, '/');

                    // マスタ ページを取得し、
                    // ルートのマスタ ページ名も初期化する。
                    this.GetMasterPages();

                    #endregion

                    #region ユーザ コントロールの初期化

                    // ユーザ コントロールの初期化
                    this.GetUserControl(this);

                    #endregion

                    #region Ajaxの状態を確認

                    #region ASP.NET Ajax

                    // スクリプト マネージャを取得
                    this.CurrentScriptManager = ScriptManager.GetCurrent(this);

                    if (this.CurrentScriptManager == null)
                    {
                        // AjaxExtensionをサポートしない画面
                        this.AjaxExtensionStatus = FxEnum.AjaxExtStat.NoAjaxExtension;
                    }
                    else
                    {
                        if (this.CurrentScriptManager.IsInAsyncPostBack)
                        {
                            // AjaxExtensionをサポートする画面であり、当該処理はAjaxExtensionである。
                            this.AjaxExtensionStatus = FxEnum.AjaxExtStat.IsAjaxExtension;
                        }
                        else
                        {
                            // AjaxExtensionをサポートする画面だが、当該処理はAjaxExtensionでない。
                            this.AjaxExtensionStatus = FxEnum.AjaxExtStat.IsNotAjaxExtension;
                        }
                    }

                    #endregion

                    #region ClientCallback

                    if (Request.Form[FxLiteral.CALLBACK_ID] == null)
                    {
                        // ClientCallbackのポストバック以外のリクエスト
                        this.IsClientCallback = false;
                    }
                    else
                    {
                        // #22-start
                        //if (this.AjaxExtensionStatus == FxEnum.AjaxExtStat.IsAjaxExtension)
                        //{
                        //    // ClientCallbackを使用したAjaxExtension
                        //    this.IsClientCallback = false;
                        //}
                        //else
                        //{
                        // ClientCallbackのポストバック
                        this.IsClientCallback = true;
                        //}
                        // #22-end
                    }

                    #endregion

                    #endregion

                    #region エラー画面へのパスチェック

                    string errorScreenPath =
                        GetConfigParameter.GetConfigValue(FxLiteral.ERROR_SCREEN_PATH);

                    // エラー処理
                    if (errorScreenPath == null || errorScreenPath == "")
                    {
                        throw new FrameworkException(
                            FrameworkExceptionMessage.ERROR_IN_WRITING_OF_FX_PATH1[0],
                            String.Format(FrameworkExceptionMessage.ERROR_IN_WRITING_OF_FX_PATH1[1], FxLiteral.ERROR_SCREEN_PATH));
                    }

                    #endregion

                    #region セッションタイムアウト検出処理

                    // セッションタイムアウト検出処理の定義を取得
                    string sessionTimeOutCheck =
                        GetConfigParameter.GetConfigValue(FxLiteral.SESSION_TIMEOUT_CHECK);

                    // デフォルト値対策:設定なし(null)の場合の扱いを決定
                    if (sessionTimeOutCheck == null)
                    {
                        // OFF扱い
                        sessionTimeOutCheck = FxLiteral.OFF;
                    }

                    // ON / OFF
                    if (sessionTimeOutCheck.ToUpper() == FxLiteral.ON)
                    {
                        // セッションタイムアウト検出処理(ON)

                        // セッション状態の確認
                        if (Session.IsNewSession)
                        {
                            // 新しいセッションが開始された

                            // セッションタイムアウト検出用Cookieをチェック
                            HttpCookie cookie = Request.Cookies.Get(FxHttpCookieIndex.SESSION_TIMEOUT);

                            if (cookie == null)
                            {
                                // セッションタイムアウト検出用Cookie無し → 新規のアクセス

                                // 2009/09/18-start

                                // セッションタイムアウト検出用Cookieを新規作成(値は空文字以外、何でも良い)

                                // Set-Cookie HTTPヘッダをレスポンス
                                Response.Cookies.Set(FxCmnFunction.CreateCookieForSessionTimeoutDetection());
                                // 2009/09/18-end
                            }
                            else
                            {
                                // セッションタイムアウト検出用Cookie有り

                                if (cookie.Value == "")
                                {
                                    // セッションタイムアウト発生後の新規アクセス

                                    // だが、値が消去されている(空文字に設定されている)場合は、
                                    // 一度エラー or セッションタイムアウトになった後の新規のアクセスである。

                                    // 2009/09/18-start

                                    // セッションタイムアウト検出用Cookieを再作成(値は空文字以外、何でも良い)

                                    // Set-Cookie HTTPヘッダをレスポンス
                                    Response.Cookies.Set(FxCmnFunction.CreateCookieForSessionTimeoutDetection());
                                    // 2009/09/18-end
                                }
                                else
                                {
                                    // セッションタイムアウト発生

                                    // エラー画面で以下の処理を実行する。
                                    // ・セッションタイムアウト検出用Cookieを消去
                                    // ・セッションを消去

                                    // ※ エラー画面への遷移方法がTransferになっているため、
                                    //    ここでセッションタイムアウト検出用Cookieを消去できないため。

                                    // セッションタイムアウト例外を発生させる
                                    throw new FrameworkException(
                                        FrameworkExceptionMessage.SESSION_TIMEOUT[0],
                                        FrameworkExceptionMessage.SESSION_TIMEOUT[1]);
                                }
                            }
                        }
                        else
                        {
                            // セッション継続中
                        }
                    }
                    else if (sessionTimeOutCheck.ToUpper() == FxLiteral.OFF)
                    {
                        // セッションタイムアウト検出処理(OFF)
                    }
                    else
                    {
                        // パラメータ・エラー(書式不正)
                        throw new FrameworkException(
                            FrameworkExceptionMessage.ERROR_IN_WRITING_OF_FX_SWITCH1[0],
                            String.Format(FrameworkExceptionMessage.ERROR_IN_WRITING_OF_FX_SWITCH1[1],
                                FxLiteral.SESSION_TIMEOUT_CHECK));
                    }

                    // 2008/10/16---チェック処理の追加(ここまで)

                    #endregion

                    #region HIDDENコントロールの検索・取得

                    // 2009/07/21-start-end

                    #region 画面遷移制御関連

                    // ブラウザ ウィンドウGUID
                    this.WindowGuid = (HiddenField)this.RootMasterPage.FindControl(FxLiteral.HIDDEN_WINDOW_GUID); // 2009/07/21-この行

                    // エラー処理
                    if (this.WindowGuid == null)
                    {
                        throw new FrameworkException(
                            FrameworkExceptionMessage.NO_FX_HIDDEN[0],
                            String.Format(FrameworkExceptionMessage.NO_FX_HIDDEN[1], FxLiteral.HIDDEN_WINDOW_GUID));
                    }

                    // リクエストチケットGUID
                    this.RequestTicketGuid = (HiddenField)this.RootMasterPage.FindControl(FxLiteral.HIDDEN_REQUEST_TICKET_GUID); // 2009/07/21-この行

                    // エラー処理
                    if (this.RequestTicketGuid == null)
                    {
                        throw new FrameworkException(
                            FrameworkExceptionMessage.NO_FX_HIDDEN[0],
                            String.Format(FrameworkExceptionMessage.NO_FX_HIDDEN[1], FxLiteral.HIDDEN_REQUEST_TICKET_GUID));
                    }

                    #endregion

                    #region ダイアログ表示関連

                    // 開く子画面のタイプ
                    this.ChildScreenType =
                        (HiddenField)this.RootMasterPage.FindControl(FxLiteral.HIDDEN_CHILD_SCREEN_TYPE); // 2009/07/21-この行

                    // エラー処理
                    if (this.ChildScreenType == null)
                    {
                        throw new FrameworkException(
                            FrameworkExceptionMessage.NO_FX_HIDDEN[0],
                            String.Format(FrameworkExceptionMessage.NO_FX_HIDDEN[1], FxLiteral.HIDDEN_CHILD_SCREEN_TYPE));
                    }
                    else
                    {
                        // 逐次初期化
                        this.ChildScreenType.Value = "0";
                    }

                    // 開く子画面のURL
                    this.ChildScreenUrl =
                        (HiddenField)this.RootMasterPage.FindControl(FxLiteral.HIDDEN_CHILD_SCREEN_URL); // 2009/07/21-この行

                    // エラー処理
                    if (this.ChildScreenUrl == null)
                    {
                        throw new FrameworkException(
                            FrameworkExceptionMessage.NO_FX_HIDDEN[0],
                            String.Format(FrameworkExceptionMessage.NO_FX_HIDDEN[1], FxLiteral.HIDDEN_CHILD_SCREEN_URL));
                    }

                    // 子画面を閉じるフラグ
                    this.CloseFlag = (HiddenField)this.RootMasterPage.FindControl(FxLiteral.HIDDEN_CLOSE_FLAG); // 2009/07/21-この行

                    // エラー処理
                    if (this.CloseFlag == null)
                    {
                        throw new FrameworkException(
                            FrameworkExceptionMessage.NO_FX_HIDDEN[0],
                            String.Format(FrameworkExceptionMessage.NO_FX_HIDDEN[1], FxLiteral.HIDDEN_CLOSE_FLAG));

                    }

                    // 子画面を閉じた後の後処理を判別するフラグ
                    this.SubmitFlag = (HiddenField)this.RootMasterPage.FindControl(FxLiteral.HIDDEN_SUBMIT_FLAG); // 2009/07/21-この行

                    // エラー処理
                    if (this.SubmitFlag == null)
                    {
                        throw new FrameworkException(
                            FrameworkExceptionMessage.NO_FX_HIDDEN[0],
                            String.Format(FrameworkExceptionMessage.NO_FX_HIDDEN[1], FxLiteral.HIDDEN_SUBMIT_FLAG));

                    }

                    // 画面GUIDを保存するHiddenコントロールを取得
                    this.ScreenGuid = (HiddenField)this.RootMasterPage.FindControl(FxLiteral.HIDDEN_SCREEN_GUID); // 2009/07/21-この行

                    // エラー処理
                    if (this.ScreenGuid == null)
                    {
                        throw new FrameworkException(
                            FrameworkExceptionMessage.NO_FX_HIDDEN[0],
                            String.Format(FrameworkExceptionMessage.NO_FX_HIDDEN[1], FxLiteral.HIDDEN_SCREEN_GUID));
                    }

                    #endregion

                    #endregion

                    #region 二重送信の検出処理

                    // 二重送信の検出処理の定義を取得
                    string doubleTransmissionCheck =
                        GetConfigParameter.GetConfigValue(FxLiteral.DOUBLE_TRANSMISSION_CHECK);

                    // デフォルト値対策:設定なし(null)の場合の扱いを決定
                    if (doubleTransmissionCheck == null)
                    {
                        // OFF扱い
                        doubleTransmissionCheck = FxLiteral.OFF;
                    }

                    // ON / OFF
                    if (doubleTransmissionCheck.ToUpper() == FxLiteral.ON)
                    {
                        // 二重送信の検出処理(ON)
                        // onSubmitイベントに、JavaScriptを仕掛ける。
                        this.Form.Attributes.Add("onSubmit", "return Fx_OnSubmit();");
                    }
                    else if (doubleTransmissionCheck.ToUpper() == FxLiteral.OFF)
                    {
                        // 二重送信の検出処理(OFF)
                    }
                    else
                    {
                        // パラメータ・エラー(書式不正)
                        throw new FrameworkException(
                            FrameworkExceptionMessage.ERROR_IN_WRITING_OF_FX_SWITCH1[0],
                            String.Format(FrameworkExceptionMessage.ERROR_IN_WRITING_OF_FX_SWITCH1[1],
                                FxLiteral.DOUBLE_TRANSMISSION_CHECK));
                    }

                    #endregion

                    #region 不正操作の検出機能

                    int requestTicketGuidMaxQueueLength = 0;

                    // ajaxの場合は、実行しない。
                    if (this.IsClientCallback)
                    {
                        // ClientCallbackなので実行しない。
                        // requestTicketGuidMaxQueueLength = 0 のままに
                    }
                    else
                    {
                        if (this.AjaxExtensionStatus == FxEnum.AjaxExtStat.IsAjaxExtension)
                        {
                            // Ajax Extensionなので実行しない。
                            // requestTicketGuidMaxQueueLength = 0 のままに
                        }
                        else
                        {
                            // 不正操作の検出機能の定義を取得
                            // ※ 記録する操作の最大数
                            requestTicketGuidMaxQueueLength =
                                FxCmnFunction.GetNumFromConfig(
                                    FxLiteral.REQUEST_TICKET_GUID_MAX_QUEUE_LENGTH, 0);
                        }
                    }

                    // isNoSessionフラグ
                    if (isNoSession)
                    {
                        // 不正操作の検出機能(強制OFF)
                        requestTicketGuidMaxQueueLength = 0;
                    }
                    else
                    {
                        if (canCheckIllegalOperation == null)
                        {
                            // 定義値による
                        }
                        else if (canCheckIllegalOperation == true)
                        {
                            // 不正操作の検出機能(強制ON)
                            if (requestTicketGuidMaxQueueLength <= 0)
                            {
                                // OFF→ON // 保持する履歴の数は固定。
                                requestTicketGuidMaxQueueLength = 100;
                            }
                            else //(canCheckIllegalOperation == false)
                            {
                                // ON→ON // 定義値による。
                            }
                        }
                        else
                        {
                            // 不正操作の検出機能(強制OFF)
                            requestTicketGuidMaxQueueLength = 0;
                        }
                    }

                    // 定義のチェック
                    if (0 < requestTicketGuidMaxQueueLength)
                    {
                        // キューの取得
                        this.GetGuidQueue(
                            out this.RequestTicketGuid_Queue,
                            FxHttpSessionIndex.REQUEST_TICKET_GUID_QUEUE,
                            requestTicketGuidMaxQueueLength);

                        // チェック対象はポストバックのみ
                        if (this.IsPostBack)
                        {
                            // ポストバック

                            // HIDDENとSESSIONのリクエスト チケットGUIDをチェック
                            if (this.RequestTicketGuid_Queue.Contains(this.RequestTicketGuid.Value))
                            {
                                // = → 正常

                                // 旧リクエスト チケットGUIDの作成
                                string oldGuid = this.RequestTicketGuid.Value;
                                // 新規リクエスト チケットGUIDの作成
                                string newGuid = Guid.NewGuid().ToString();

                                // HIDDENとSESSIONに保存

                                // HIDDEN
                                this.RequestTicketGuid.Value = newGuid;

                                // SESSION(リクエスト チケットGUIDキューの再構築)
                                this.RestructureGuidQueue(
                                    oldGuid, newGuid, out this.RequestTicketGuid_Queue,
                                    FxHttpSessionIndex.REQUEST_TICKET_GUID_QUEUE,
                                    requestTicketGuidMaxQueueLength);
                            }
                            else
                            {
                                // ≠ → 異常

                                //  不正操作を検出
                                throw new FrameworkException(
                                    FrameworkExceptionMessage.ILLEGAL_OPERATION_CHECK_ERROR[0],
                                    FrameworkExceptionMessage.ILLEGAL_OPERATION_CHECK_ERROR[1]);
                            }
                        }
                        else
                        {
                            // 初回ロード

                            // 新規リクエスト チケットGUIDの作成
                            string guid = Guid.NewGuid().ToString();

                            // HIDDENとSESSIONに保存

                            // HIDDEN
                            this.RequestTicketGuid.Value = guid;

                            // SESSION

                            // キューの最大長を超える場合は、デキューする
                            if (requestTicketGuidMaxQueueLength <= this.RequestTicketGuid_Queue.Count)
                            {
                                // 最も古いリクエスト チケットGUIDをデキュー
                                RequestTicketGuid_Queue.Dequeue();

                            }

                            // 新規のリクエスト チケットGUIDをエンキュー
                            RequestTicketGuid_Queue.Enqueue(guid);
                        }
                    }

                    #endregion

                    #region 画面遷移制御機能

                    // 2009/07/31-start

                    #region ウィンドウGUID設定

                    // ウィンドウGUID
                    string browserWindowGuid = "";

                    // ウィンドウ別セッション領域の自動削除機能の定義を取得
                    // ※ ウィンドウ別セッション領域のスコープの最大数
                    int windowGuidMaxQueueLength =
                        FxCmnFunction.GetNumFromConfig(
                            FxLiteral.WINDOW_GUID_MAX_QUEUE_LENGTH, 0);

                    if (this.WindowGuid.Value.Length == 36)
                    {
                        // ウィンドウGUIDがある場合

                        #region ウィンドウGUIDキューの再構築

                        // 定義のチェック
                        if (0 < windowGuidMaxQueueLength)
                        {
                            // ウィンドウGUIDキューの再構築
                            this.RestructureGuidQueue(this.WindowGuid.Value, out this.WindowGuid_Queue,
                                FxHttpSessionIndex.WINDOW_GUID_QUEUE, windowGuidMaxQueueLength);
                        }

                        #endregion
                    }
                    else
                    {
                        // ウィンドウGUIDがない場合

                        #region ウィンドウGUIDの初期化

                        // HTTP ContextにウィンドウGUIDがあるか?
                        if (HttpContext.Current.Items[
                            FxHttpContextIndex.BROWSER_WINDOW_GUID] == null)
                        { }
                        else
                        {
                            browserWindowGuid
                                = HttpContext.Current.Items[
                                    FxHttpContextIndex.BROWSER_WINDOW_GUID].ToString();
                        }

                        // 無かった場合、
                        if (browserWindowGuid == "")
                        {
                            // HTTP Query StringにウィンドウGUIDがあるか?
                            if (HttpContext.Current.Request.QueryString[
                                    FxHttpQueryStringIndex.BROWSER_WINDOW_GUID] == null)
                            { }
                            else
                            {
                                browserWindowGuid
                                    = HttpContext.Current.Request.QueryString[
                                        FxHttpQueryStringIndex.BROWSER_WINDOW_GUID].ToString();
                            }
                        }

                        // ウィンドウGUIDが新規生成されたか判別するフラグ
                        bool isNewWindowGuid = false;

                        // 無かった場合、
                        if (browserWindowGuid == "")
                        {
                            // ウィンドウGUIDを新規生成し、ウィンドウGUIDをHIDDEに設定
                            this.WindowGuid.Value = Guid.NewGuid().ToString();
                            isNewWindowGuid = true;
                        }
                        else
                        {
                            // ウィンドウGUIDをHIDDEに設定
                            this.WindowGuid.Value = browserWindowGuid;
                            isNewWindowGuid = false;
                        }

                        #endregion

                        #region ウィンドウ別セッション領域の自動削除とウィンドウGUIDキューの再構築

                        // 定義のチェック
                        if (0 < windowGuidMaxQueueLength)
                        {
                            if (isNewWindowGuid)
                            {
                                // 新規ウィンドウGUIDが生成された場合

                                // ウィンドウGUIDキューからセッション自動削除
                                this.DeleteSessionWithGuidQueueAutomatically(
                                    this.WindowGuid.Value, this.WindowGuid_Queue,
                                    FxHttpSessionIndex.WINDOW_GUID_QUEUE, windowGuidMaxQueueLength);
                            }
                            else
                            {
                                // 新規ウィンドウGUIDが生成されなかった場合

                                // ウィンドウGUIDキューの再構築
                                this.RestructureGuidQueue(this.WindowGuid.Value, out this.WindowGuid_Queue,
                                    FxHttpSessionIndex.WINDOW_GUID_QUEUE, windowGuidMaxQueueLength);
                            }
                        }

                        #endregion
                    }

                    #endregion

                    // 2009/07/31-end

                    #region 画面遷移チェック処理

                    if (SC.TransitionCheck)
                    {
                        // ポストバック
                        if (this.IsPostBack)
                        {
                            // ポストバック時はチェックしない。
                        }
                        else
                        {
                            // 初回ロード時にチェックする。

                            // ウィンドウ別セッション領域から前画面情報を取得する。
                            if (this.GetDataFromBrowserWindow(
                                    FxHttpSessionIndex.SCREEN_TRANSITION_INFO) == null)
                            {
                                this.FormerAspxVirtualPath = "";
                            }
                            else
                            {
                                this.FormerAspxVirtualPath
                                = this.GetDataFromBrowserWindow(
                                    FxHttpSessionIndex.SCREEN_TRANSITION_INFO).ToString();
                            }

                            // 取得後、直ちに消去
                            this.DeleteDataFromBrowserWindow(
                                    FxHttpSessionIndex.SCREEN_TRANSITION_INFO);

                            if (this.FormerAspxVirtualPath == "")
                            {
                                // 全画面情報無しなので、部品で遷移していない場合の、画面遷移チェック
                                if (HttpContext.Current.Request.HttpMethod.ToUpper() == FxLiteral.GET)
                                {
                                    // GET → GETチェック
                                    BaseController.SC.
                                        CheckScreenTransitionGet(this.AppRelativeVirtualPath);
                                }
                                else
                                {
                                    // POST → 強制的にエラー
                                    BaseController.SC.
                                        CheckScreenTransitionPost(this.AppRelativeVirtualPath);
                                }
                            }
                            else
                            {
                                // 前画面情報有りなので、部品で遷移している場合の、画面遷移チェック
                                BaseController.SC.CheckScreenTransition(
                                    this.FormerAspxVirtualPath,
                                    this.AppRelativeVirtualPath);
                            }
                        }
                    }
                    else
                    {
                        // 画面遷移チェックしない。
                    }

                    #endregion

                    #endregion

                    #region 画面GUID関連の処理

                    // ClientCallback時は実行しない。
                    if (!this.IsClientCallback)
                    {
                        // 2010/10/04-start

                        # region ボタン履歴情報記録機能のon・off

                        // ボタン履歴情報記録機能のon・offの定義を取得
                        int tempButtonhistoryMaxQueueLength =
                            FxCmnFunction.GetNumFromConfig(
                                    FxLiteral.BUTTON_HISTORY_MAX_QUEUE_LENGTH,
                                    FxLiteral.BUTTON_HISTORY_DEFAULT_QUEUE_LENGTH);

                        // ON( > 0) / OFF( <= 0)
                        if (tempButtonhistoryMaxQueueLength > 0)
                        {
                            // ボタン履歴情報記録機能(ON)
                            this.ButtonHistoryRecorder = true;
                        }
                        else
                        {
                            // ボタン履歴情報記録機能(OFF)
                            this.ButtonHistoryRecorder = false;
                        }

                        // isNoSessionフラグ
                        if (isNoSession)
                        {
                            // ボタン履歴情報記録機能(OFF)
                            this.ButtonHistoryRecorder = false;
                        }

                        #endregion

                        #region ボタン履歴情報(キュー)の初期化

                        if (this.ButtonHistoryRecorder) // 2008/03/29---ボタン履歴記録機能が有効な場合のみ実行する(追加)。
                        {
                            // ボタン履歴記録機能が無効な場合、キューの最大長を指定
                            this.ButtonhistoryMaxQueueLength = tempButtonhistoryMaxQueueLength;
                        }
                        else
                        {
                            // ボタン履歴記録機能が無効な場合は「0」で初期化
                            this.ButtonhistoryMaxQueueLength = 0; // = tempButtonhistoryMaxQueueLength;
                        }

                        if (this.ButtonHistoryRecorder) // 2008/11/28---ボタン履歴記録機能が有効な場合のみ実行する(追加)。
                        {
                            if (Session[FxHttpSessionIndex.BUTTON_HISTORY] == null)
                            {
                                // 新規生成(キューの最大長を指定する)
                                this.Buttonhistory_Queue = new Queue<ArrayList>(this.ButtonhistoryMaxQueueLength);

                                // Sessionに設定
                                Session[FxHttpSessionIndex.BUTTON_HISTORY] = this.Buttonhistory_Queue;
                            }
                            else
                            {
                                // Session領域から取得
                                this.Buttonhistory_Queue = (Queue<ArrayList>)Session[FxHttpSessionIndex.BUTTON_HISTORY];
                            }
                        }

                        #endregion

                        // 2010/10/04-end

                        // 2009/07/31-start

                        // 画面GUIDが新規生成されたか判別するフラグ
                        bool isNewScreenGuid = false;

                        // 親画面別セッション領域の自動削除機能の定義を取得
                        // ※ 親画面別セッション領域のスコープの最大数
                        int screenGuidMaxQueueLength =
                            FxCmnFunction.GetNumFromConfig(
                                FxLiteral.SCREEEN_GUID_MAX_QUEUE_LENGTH, 0);

                        if (this.ScreenGuid.Value.Length == 36)
                        {
                            // 画面GUIDがある場合 → 親画面・子画面のポストバック時

                            #region ボタン履歴(キュー)の再構築

                            if (this.ButtonHistoryRecorder) // 2008/11/28---ボタン履歴記録機能が有効な場合のみ実行する(追加)。
                            {
                                // ボタン履歴情報(キュー)から、
                                // 画面GUID付きボタン履歴情報(スタック)を取得
                                foreach (ArrayList tempObj in this.Buttonhistory_Queue) // ここはArrayListでないとNG(Buttonhistory_Queue)
                                {
                                    // 画面GUIDのインデックスを確認
                                    if (tempObj[0].ToString() == this.ScreenGuid.Value)
                                    {
                                        // ボタン履歴情報(スタック)を取得
                                        this.Buttonhistory_Stack = (Stack<FxEventArgs>)tempObj[1];
                                    }
                                }

                                // ※ 上記の処理で、Buttonhistory_Stackが取得できない場合に考えられる理由。
                                //   ・ セッションタイムアウトした場合(検出機能OFFの場合)
                                //   ・ 古いキャッシュを参照した場合
                                //   ・ スタックがキューからデキューされた場合

                                if (this.Buttonhistory_Stack == null)
                                {
                                    // キャッシュを参照した可能性
                                    throw new FrameworkException(
                                        FrameworkExceptionMessage.FX_PROCESSING_STATUS_ERROR[0],
                                        String.Format(FrameworkExceptionMessage.FX_PROCESSING_STATUS_ERROR[1],
                                            FrameworkExceptionMessage.FX_PROCESSING_STATUS_ERROR_NO_BH_QUEUE));
                                }

                                // ボタン履歴情報(キュー)の再構築

                                // ☆ Sessionに再設定する必要がある
                                //    (作り直しでインスタンスが変わったため)
                                Session[FxHttpSessionIndex.BUTTON_HISTORY]
                                    = FxCmnFunction.RestructuringLRUQueue2(
                                        this.Buttonhistory_Queue,
                                        this.ScreenGuid.Value,
                                        this.ButtonhistoryMaxQueueLength);

                                // ※ ボタン履歴情報(スタック)を操作するのは、イベント ハンドラ
                            }

                            #endregion

                            #region 画面GUIDキューの再構築

                            // 定義のチェック
                            if (0 < screenGuidMaxQueueLength)
                            {
                                // 画面GUIDキューの再構築
                                this.RestructureGuidQueue(this.ScreenGuid.Value, out this.ScreenGuid_Queue,
                                    FxHttpSessionIndex.SCREEN_GUID_QUEUE, screenGuidMaxQueueLength);
                            }

                            #endregion
                        }
                        else
                        {
                            // 画面GUIDがない場合 → 親画面・子画面の初回ロード時

                            #region 画面GUIDの初期化

                            string QueryStringScreenGuid
                                = (string)Request.QueryString[FxHttpQueryStringIndex.PARENT_SCREEN_GUID];

                            if (QueryStringScreenGuid == null)
                            {
                                QueryStringScreenGuid = "";
                            }

                            #endregion

                            #region ボタン履歴(スタック)の初期化

                            if (QueryStringScreenGuid.Length == 36)
                            {
                                // クエリーストリングがある場合 → 自画面は業務モーダル画面で、且つ初回ロード時

                                // 画面GUIDを設定
                                this.ScreenGuid.Value = QueryStringScreenGuid;

                                #region ボタン履歴(スタックをキューから取得)

                                if (this.ButtonHistoryRecorder) // 2008/11/28---ボタン履歴記録機能が有効な場合のみ実行する(追加)。
                                {
                                    // ボタン履歴情報(キュー)から、
                                    // 画面GUID付きボタン履歴情報(スタック)を取得
                                    foreach (ArrayList tempObj in this.Buttonhistory_Queue) // ここはArrayListでないとNG(Buttonhistory_Queue)
                                    {
                                        // 画面GUIDのインデックスを確認
                                        if (tempObj[0].ToString() == this.ScreenGuid.Value)
                                        {
                                            // ボタン履歴情報(スタック)を取得
                                            this.Buttonhistory_Stack = (Stack<FxEventArgs>)tempObj[1];
                                        }
                                    }

                                    // 初期値をプッシュ
                                    this.Buttonhistory_Stack.Push(
                                        new FxEventArgs(FxLiteral.VALUE_STR_DUMMY_STRING, 0, 0, "", ""));
                                }

                                #endregion
                            }
                            else
                            {
                                // クエリーストリングがない場合 → 自画面は親画面で、且つ初回ロード時

                                // 画面GUIDを新規生成
                                this.ScreenGuid.Value = Guid.NewGuid().ToString();
                                isNewScreenGuid = true;

                                #region ボタン履歴(スタックを新規生成)

                                if (this.ButtonHistoryRecorder) // 2008/11/28---ボタン履歴記録機能が有効な場合のみ実行する(追加)。
                                {
                                    // ボタン履歴情報(スタック)を新規生成
                                    this.Buttonhistory_Stack = new Stack<FxEventArgs>();

                                    // 初期値をプッシュ
                                    this.Buttonhistory_Stack.Push(
                                        new FxEventArgs(FxLiteral.VALUE_STR_DUMMY_STRING, 0, 0, "", ""));

                                    // ボタン履歴情報(スタック)をボタン履歴情報(キュー)に格納

                                    // ボタン履歴情報(スタック)に格納するデータ型は配列
                                    ArrayList tempObj = new ArrayList(2); // ここはArrayListでないとNG(Buttonhistory_Queue)

                                    // 画面GUIDのインデックス
                                    tempObj.Add(this.ScreenGuid.Value);

                                    // ボタン履歴情報(スタック)
                                    tempObj.Add(this.Buttonhistory_Stack);

                                    // キューの最大長を超える場合は、デキューする
                                    if (this.ButtonhistoryMaxQueueLength <= this.Buttonhistory_Queue.Count) // 2009/08/12-この行
                                    {
                                        // デキュー
                                        this.Buttonhistory_Queue.Dequeue();
                                    }

                                    // エンキュー
                                    this.Buttonhistory_Queue.Enqueue(tempObj);
                                }

                                #endregion
                            }

                            #endregion

                            #region 親画面別セッション領域の自動削除と画面GUIDキューの再構築

                            // 定義のチェック
                            if (0 < screenGuidMaxQueueLength)
                            {
                                if (isNewScreenGuid)
                                {
                                    // 新規画面GUIDが生成された場合

                                    // 画面GUIDキューからセッション自動削除
                                    this.DeleteSessionWithGuidQueueAutomatically(
                                        this.ScreenGuid.Value, this.ScreenGuid_Queue,
                                        FxHttpSessionIndex.SCREEN_GUID_QUEUE, screenGuidMaxQueueLength);
                                }
                                else
                                {
                                    // 新規画面GUIDが生成されなかった場合

                                    // 画面GUIDキューの再構築
                                    this.RestructureGuidQueue(this.ScreenGuid.Value, out this.ScreenGuid_Queue,
                                        FxHttpSessionIndex.SCREEN_GUID_QUEUE, screenGuidMaxQueueLength);
                                }
                            }

                            #endregion
                        }

                        // 2009/07/31-end
                    }

                    #endregion

                    #region コントロール取得処理

                    #region 旧処理
                    ////#if DEBUG // 2009/09/01-このプリプロセッサ
                    ////                    PerformanceRecorder perfRec = new PerformanceRecorder();
                    ////                    perfRec.StartsPerformanceRecord();
                    ////#endif

                    //// BUTTON
                    //FxCmnFunction.GetCtrlAndSetClickEventHandler(
                    //    this, GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_BUTTON),
                    //    new System.EventHandler(this.Button_Click), this.ControlHt);

                    ////#if DEBUG // 2009/09/01-このプリプロセッサ
                    ////                    Debug.WriteLine("BUTTONコントロール検索のパフォーマンス情報:\r\n" + perfRec.EndsPerformanceRecord());
                    ////#endif

                    //// LINK BUTTON
                    //FxCmnFunction.GetCtrlAndSetClickEventHandler(
                    //    this, GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_LINK_BUTTON),
                    //    new System.EventHandler(this.Button_Click), this.ControlHt);

                    //// IMAGE BUTTON
                    //FxCmnFunction.GetCtrlAndSetClickEventHandler(
                    //    this, GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_IMAGE_BUTTON),
                    //    new System.Web.UI.ImageClickEventHandler(this.ImageButton_Click), this.ControlHt);

                    //// IMAGE MAP
                    //FxCmnFunction.GetCtrlAndSetClickEventHandler(
                    //    this, GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_IMAGE_MAP),
                    //    new System.Web.UI.WebControls.ImageMapEventHandler(this.ImageMap_Click), this.ControlHt);

                    //// DROP DOWN LIST
                    //FxCmnFunction.GetCtrlAndSetClickEventHandler(
                    //    this, GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_DROP_DOWN_LIST),
                    //    new System.EventHandler(this.List_SelectedIndexChanged), this.ControlHt);

                    //// LIST BOX
                    //FxCmnFunction.GetCtrlAndSetClickEventHandler(
                    //    this, GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_LIST_BOX),
                    //    new System.EventHandler(this.List_SelectedIndexChanged), this.ControlHt);

                    //// RADIO BUTTON
                    //FxCmnFunction.GetCtrlAndSetClickEventHandler(
                    //    this, GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_RADIO_BUTTON),
                    //    new System.EventHandler(this.Check_CheckedChanged), this.ControlHt);

                    //// REPEATER
                    //FxCmnFunction.GetCtrlAndSetClickEventHandler(
                    //    this, GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_REPEATER),
                    //    new RepeaterCommandEventHandler(this.Repeater_ItemCommand), this.ControlHt);

                    //// GRIDVIEW
                    //object[] gridViewEventHandlers = new object[]{
                    //    new GridViewCommandEventHandler(this.GridView_RowCommand),
                    //    new EventHandler(this.List_SelectedIndexChanged),
                    //    new GridViewUpdateEventHandler(this.GridView_RowUpdating),
                    //    new GridViewDeleteEventHandler(this.GridView_RowDeleting),
                    //    new GridViewPageEventHandler(this.GridView_PageIndexChanging),
                    //    new GridViewSortEventHandler(this.GridView_Sorting)
                    //};

                    //FxCmnFunction.GetCtrlAndSetClickEventHandler(
                    //    this, GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_GRIDVIEW),
                    //    gridViewEventHandlers, this.ControlHt);
                    #endregion

                    // プレフィックス
                    string prefix = "";
                    // プレフィックスとイベント ハンドラのディクショナリを生成
                    Dictionary<string, object> prefixAndEvtHndHt = new Dictionary<string, object>();

                    // BUTTON
                    prefix = GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_BUTTON);
                    if (!string.IsNullOrEmpty(prefix))
                    {
                        prefixAndEvtHndHt.Add(prefix, new System.EventHandler(this.Button_Click));
                    }

                    // LINK BUTTON
                    prefix = GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_LINK_BUTTON);
                    if (!string.IsNullOrEmpty(prefix))
                    {
                        prefixAndEvtHndHt.Add(prefix, new System.EventHandler(this.Button_Click));
                    }

                    // IMAGE BUTTON
                    prefix = GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_IMAGE_BUTTON);
                    if (!string.IsNullOrEmpty(prefix))
                    {
                        prefixAndEvtHndHt.Add(prefix, new System.Web.UI.ImageClickEventHandler(this.ImageButton_Click));
                    }

                    // IMAGE MAP
                    prefix = GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_IMAGE_MAP);
                    if (!string.IsNullOrEmpty(prefix))
                    {
                        prefixAndEvtHndHt.Add(prefix, new System.Web.UI.WebControls.ImageMapEventHandler(this.ImageMap_Click));
                    }

                    // DROP DOWN LIST
                    prefix = GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_DROP_DOWN_LIST);
                    if (!string.IsNullOrEmpty(prefix))
                    {
                        prefixAndEvtHndHt.Add(prefix, new System.EventHandler(this.List_SelectedIndexChanged));
                    }

                    // LIST BOX
                    prefix = GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_LIST_BOX);
                    if (!string.IsNullOrEmpty(prefix))
                    {
                        prefixAndEvtHndHt.Add(prefix, new System.EventHandler(this.List_SelectedIndexChanged));
                    }

                    // RADIO BUTTON
                    prefix = GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_RADIO_BUTTON);
                    if (!string.IsNullOrEmpty(prefix))
                    {
                        prefixAndEvtHndHt.Add(prefix, new System.EventHandler(this.Check_CheckedChanged));
                    }

                    // REPEATER
                    prefix = GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_REPEATER);
                    if (!string.IsNullOrEmpty(prefix))
                    {
                        prefixAndEvtHndHt.Add(prefix, new RepeaterCommandEventHandler(this.Repeater_ItemCommand));
                    }

                    // GRIDVIEW
                    prefix = GetConfigParameter.GetConfigValue(FxLiteral.PREFIX_OF_GRIDVIEW);
                    if (!string.IsNullOrEmpty(prefix))
                    {
                        object[] gridViewEventHandlers = new object[]{
                        new GridViewCommandEventHandler(this.GridView_RowCommand),
                        new EventHandler(this.List_SelectedIndexChanged),
                        new GridViewUpdateEventHandler(this.GridView_RowUpdating),
                        new GridViewDeleteEventHandler(this.GridView_RowDeleting),
                        new GridViewPageEventHandler(this.GridView_PageIndexChanging),
                        new GridViewSortEventHandler(this.GridView_Sorting)};

                        prefixAndEvtHndHt.Add(prefix, gridViewEventHandlers);
                    }

                    // コントロール検索&イベントハンドラ設定
                    FxCmnFunction.GetCtrlAndSetClickEventHandler2(this, prefixAndEvtHndHt, this.ControlHt);

                    #endregion

                    #endregion

                    #region 画面の初期処理(初回ロード、ポストバック)

                    #region 共通UOC処理(UOC_CMNFormInit、UOC_CMNFormInit_PostBack)。

                    if (this.IsPostBack)
                    {
                        // ポストバック時

                        // ポストバック時のUOCメソッド
                        this.UOC_CMNFormInit_PostBack();
                    }
                    else
                    {
                        // 初回起動時

                        // 初回起動時のUOCメソッド
                        this.UOC_CMNFormInit();
                    }

                    #endregion

                    #region 個別UOC処理(UOC_FormInit、UOC_FormInit_PostBack)。

                    if (this.IsPostBack)
                    {
                        // ポストバック時

                        // ポストバック時のUOCメソッド
                        this.UOC_FormInit_PostBack();
                    }
                    else
                    {
                        // 初回起動時

                        // 初回起動時のUOCメソッド
                        this.UOC_FormInit();
                    }

                    #endregion

                    #endregion

                    // ・ ポストバック時のみ実行
                    // ・ ClientCallback時は実行しない。
                    // ・ AjaxExtension時は実行しない。
                    if (this.IsPostBack
                        && !this.IsClientCallback
                        && !(this.AjaxExtensionStatus == FxEnum.AjaxExtStat.IsAjaxExtension))
                    {
                        #region ダイアログ(から戻った場合)の後処理(イベント)

                        // 子画面を閉じた後の後処理を判別するフラグのnullチェック
                        if (this.SubmitFlag == null)
                        {
                            // nullの場合
                        }
                        else
                        {
                            // 値が1・2・3・4に該当する場合、後処理をする。

                            // ★1:「YES」・「NO」メッセージ・ダイアログの「×」が押され閉じられた場合。
                            // ★2:「YES」・「NO」メッセージ・ダイアログの「YES」が押された場合。
                            // ★3:「YES」・「NO」メッセージ・ダイアログの「NO」が押された場合。
                            // ★4:業務モーダル・ダイアログから戻った場合。

                            if (((int)FxEnum.SubmitMode.YesNo_X).ToString() == this.SubmitFlag.Value)
                            {
                                // ★ イベントの開始前のUOC処理
                                this.UOC_PreAction(new FxEventArgs(FxLiteral.EVENT_AFTER_YES_NO_X, 0, 0, "", ""));

                                // ★:「YES」・「NO」メッセージ・ダイアログの「×」が押され閉じられた場合。

                                if (this.ButtonHistoryRecorder) // 2008/11/28---ボタン履歴記録機能が有効な場合のみ実行する(追加)。
                                {
                                    // 引数:親画面で押したボタン情報
                                    this.UOC_YesNoDialog_X_Click((FxEventArgs)this.Buttonhistory_Stack.Peek());
                                }
                                else
                                {
                                    // 引数:ダミーのボタン情報
                                    this.UOC_YesNoDialog_X_Click(
                                        new FxEventArgs(FxLiteral.VALUE_STR_DUMMY_STRING, 0, 0, "", ""));
                                }

                                // ★ イベントの終了後のUOC処理
                                this.UOC_AfterAction(new FxEventArgs(FxLiteral.EVENT_AFTER_YES_NO_X, 0, 0, "", ""));
                            }
                            else if (((int)FxEnum.SubmitMode.YesNo_Yes).ToString() == this.SubmitFlag.Value)
                            {
                                // ★ イベントの開始前のUOC処理
                                this.UOC_PreAction(new FxEventArgs(FxLiteral.EVENT_AFTER_YES_NO_YES, 0, 0, "", ""));

                                // ★:「YES」・「NO」メッセージ・ダイアログの「YES」が押された場合。

                                if (this.ButtonHistoryRecorder) // 2008/11/28---ボタン履歴記録機能が有効な場合のみ実行する(追加)。
                                {
                                    // 引数:親画面で押したボタン情報
                                    this.UOC_YesNoDialog_Yes_Click((FxEventArgs)this.Buttonhistory_Stack.Peek());
                                }
                                else
                                {
                                    // 引数:ダミーのボタン情報
                                    this.UOC_YesNoDialog_Yes_Click(
                                        new FxEventArgs(FxLiteral.VALUE_STR_DUMMY_STRING, 0, 0, "", ""));
                                }

                                // ★ イベントの終了後のUOC処理
                                this.UOC_AfterAction(new FxEventArgs(FxLiteral.EVENT_AFTER_YES_NO_YES, 0, 0, "", ""));
                            }
                            else if (((int)FxEnum.SubmitMode.YesNo_No).ToString() == this.SubmitFlag.Value)
                            {
                                // ★ イベントの開始前のUOC処理
                                this.UOC_PreAction(new FxEventArgs(FxLiteral.EVENT_AFTER_YES_NO_NO, 0, 0, "", ""));

                                // ★:「YES」・「NO」メッセージ・ダイアログの「NO」が押された場合。

                                if (this.ButtonHistoryRecorder) // 2008/11/28---ボタン履歴記録機能が有効な場合のみ実行する(追加)。
                                {
                                    // 引数:親画面で押したボタンの情報
                                    this.UOC_YesNoDialog_No_Click((FxEventArgs)this.Buttonhistory_Stack.Peek());
                                }
                                else
                                {
                                    // 引数:ダミーのボタン情報
                                    this.UOC_YesNoDialog_No_Click(
                                        new FxEventArgs(FxLiteral.VALUE_STR_DUMMY_STRING, 0, 0, "", ""));
                                }

                                // ★ イベントの終了後のUOC処理
                                this.UOC_AfterAction(new FxEventArgs(FxLiteral.EVENT_AFTER_YES_NO_NO, 0, 0, "", ""));
                            }
                            else if (((int)FxEnum.SubmitMode.Modal).ToString() == this.SubmitFlag.Value)
                            {
                                // ★ イベントの開始前のUOC処理
                                this.UOC_PreAction(new FxEventArgs(FxLiteral.EVENT_AFTER_MODAL_DIALOG, 0, 0, "", ""));

                                // 親画面で押したボタンの情報
                                FxEventArgs parentFxEventArgs;

                                //子画面で押されたボタンの情報
                                FxEventArgs childFxEventArgs;

                                try
                                {
                                    if (this.ButtonHistoryRecorder) // 2008/11/28---ボタン履歴記録機能が有効な場合のみ実行する(追加)。
                                    {
                                        // POP(Nullチェックしない)
                                        childFxEventArgs = (FxEventArgs)this.Buttonhistory_Stack.Pop();
                                    }
                                    else
                                    {
                                        // ダミーのボタン情報
                                        childFxEventArgs = new FxEventArgs(FxLiteral.VALUE_STR_DUMMY_STRING, 0, 0, "", "");
                                    }

                                    if (this.ButtonHistoryRecorder) // 2008/11/28---ボタン履歴記録機能が有効な場合のみ実行する(追加)。
                                    {
                                        // 親画面で押したボタンの情報
                                        parentFxEventArgs = (FxEventArgs)this.Buttonhistory_Stack.Peek();
                                    }
                                    else
                                    {
                                        // ダミーのボタン情報
                                        parentFxEventArgs = new FxEventArgs(FxLiteral.VALUE_STR_DUMMY_STRING, 0, 0, "", "");
                                    }
                                }
                                catch (Exception ex)
                                {
                                    // 子画面でかならずプッシュされるが、異常な状態に陥った場合NullReferenceが発生する。
                                    // エラー発生時や、親画面の後処理でファイルダウンロードのHTTPレスポンスを返した場合など。
                                    throw new FrameworkException(
                                        FrameworkExceptionMessage.DIALOG_AFTER_PROCESSING_STATUS_ERROR[0],
                                        String.Format(FrameworkExceptionMessage.DIALOG_AFTER_PROCESSING_STATUS_ERROR[1], ex.Message));
                                }

                                // ★ 業務モーダル・ダイアログの後処理を実行する。
                                this.UOC_ModalDialog_End(parentFxEventArgs, childFxEventArgs);

                                // ★ イベントの終了後のUOC処理
                                this.UOC_AfterAction(new FxEventArgs(FxLiteral.EVENT_AFTER_MODAL_DIALOG, 0, 0, "", ""));
                            }
                        }

                        #endregion
                    }
                }
            }
Ejemplo n.º 28
0
    /// <summary>
    /// btnMButton1のクリックイベント
    /// </summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    public string UOC_btnMButton1_Click(FxEventArgs fxEventArgs)
    {

        return "WebForm0";
    }
    /// <summary>btnMButton3のクリックイベント</summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    public string UOC_btnMButton3_Click(FxEventArgs fxEventArgs)
    {
        throw new Exception("Ajaxでエラー");

        //return "";
    }
Ejemplo n.º 30
0
    /// <summary>ログイン</summary>
    /// <param name="fxEventArgs">イベントハンドラの共通引数</param>
    /// <returns>URL</returns>
    protected string UOC_btnButton1_Click(FxEventArgs fxEventArgs)
    {
        // ここで、入力されたユーザIDと、パスワードをチェックし、ユーザ認証する。

        if (this.txtUserID.Text != "")  // 現時点では、全て(空文字以外)認証する。
        {
            //// 認証か完了した場合、認証チケットを生成。
            //// 第2引数は、「クライアントがCookieを永続化(ファイルとして保存)するかどうか。」
            //// を設定する引数であるが、セキュリティを考慮して、falseの設定を勧める。
            //FormsAuthentication.SetAuthCookie(this.txtUserID.Text, false);

            // 認証か完了した場合、認証チケットを生成し、元のページにRedirectする。
            // 第2引数は、「クライアントがCookieを永続化(ファイルとして保存)するかどうか。」
            // を設定する引数であるが、セキュリティを考慮して、falseの設定を勧める。
            FormsAuthentication.RedirectFromLoginPage(this.txtUserID.Text, false);

            // 認証情報を保存する。
            MyUserInfo ui = new MyUserInfo(this.txtUserID.Text, Request.UserHostAddress);
            UserInfoHandle.SetUserInformation(ui);

            // 認証Sessionの場合のテスト
            Session["test"] = "test";
        }
        else
        {
            // 認証に失敗した場合は、メッセージを表示する
            this.lblMessage.Text = "認証に失敗しました。ユーザIDか、パスワードが間違っています。";

            // Session消去
            this.FxSessionAbandon();
        }

        //// Silverlightを起動
        //return "/WSClientSL_sample/WSClientSL_sampleTestPage.aspx";

        // 画面遷移はしない(基盤に任せるため)。
        return string.Empty;
    }