2016-07-15 6 views
0

私はasp.netというフォームを持っています.3つのボタンはクリックされたボタンの関連モラルをトリガーし、ユーザーは詳細を入力します。現在、各モーダルはOnClickコードの背後にある。クリックした送信ボタンに応じて異なるOnclicksを割り当てる

私は現在、これらのモーダルのそれぞれに「送信」がクリックされたときに表示される成功モードを実装しようとしています。

私は自分の他の3人のすべてが共有している成功モードを欲しがっています。私はイントラのモーダルが閉じ、私の成功のモーダルが表示されますが、私のDBには書き込まれませんので、一種の作業をしています。

私の成功のモーダルの私のボタンに私の広告は、私のOnClickのいずれかが、私は成功モーダルに私の「閉じる」ボタンにOnClickを追加する方法を、私はいくつかのに必要と思っていますが、私は必要なので、それは私のDBへの投稿どのボタンが最初に選択されたかに応じて、正しいOnClickを入力します。

現在のコードが

データ入力モーダルボタンを提出

<asp:Button CssClass="btn btn-success" ID="btnSubmitNewFunc" runat="server" Text="Submit" ToolTip="Click to submit your request." data-toggle="modal" data-target="#modalSuccess" data-backdrop="static" data-keyboard="false" data-dismiss="modal" OnClick="btnSubmitNewFunc_Click" /> 
<asp:Button CssClass="btn btn-success" ID="btnSubmitBug" runat="server" Text="Submit" ToolTip="Click to submit your request." data-toggle="modal" data-target="#modalSuccess" data-backdrop="static" data-keyboard="false" data-dismiss="modal" OnClick="btnSubmitBug_Click" /> 
<asp:Button CssClass="btn btn-success" ID="btnSubmitNewPlace" runat="server" Text="Submit" ToolTip="Click to submit your request." data-toggle="modal" data-target="#modalSuccess" data-backdrop="static" data-keyboard="false" data-dismiss="modal" OnClick="btnSubmitNewPlace_Click" /> 

成功モーダル閉じるボタンbtnModalSuccessをクリックしたときにデータを提出する場合

<asp:Button CssClass="btn btn-warning" ID="btnModalSuccess" runat="server" Text="Close" ToolTip="Click to close this screen." /> 
+0

私は私はあなたが達成したいか理解だと思うけど関連するJSコードを共有する必要があります。また、「私はイントラのモーダルが終了し、成功モードが表示されますが、私のDBには書き込まれません」ということはどういう意味ですか? DBに書かないものは何ですか? – marekful

+0

@marekfulユーザが3つのモーダルのうちの1つのフィールドに入力したときに、「Submit」を押すと、DBテーブルに入力されたすべての詳細が各ボタンの現在の「OnClick」として格納されます( 'Success'モーダルなし)私のコードの中で別のことをするので、正しいボタンをクリックして、正しいコードを使用するように、正しいOnclickを追加する方法が必要です。 – murday1983

+0

@marekful @marekful成功のための書き込みと取り組みの方法がわからない[閉じる]ボタン – murday1983

答えて

1

このJavascriptのユーティリティ機能の助けを借りて

<asp:HiddenField ID="hiddenCommand" runat="server" /> 
<asp:Button ID="btnSubmitNewFunc" ... OnClientClick="return showSuccess('NewFunc');" /> 
<asp:Button ID="btnSubmitBug" ... OnClientClick="return showSuccess('Bug');" /> 
<asp:Button ID="btnSubmitNewPlace" ... OnClientClick="return showSuccess('NewPlace');" /> 

::、あなたが最初の隠しフィールドに元のコマンド名を保存することができますbtnModalSuccessのイベントハンドラで

function showSuccess(cmd) { 
    $('#hiddenCommand').val(cmd); 
    $('#modalsuccess').modal('show'); 
    return false; // To prevent the postback 
} 

、処理はに依存するであろう言われて、私はあなたがデータtを投稿することを示唆していることが

protected void btnModalSuccess_Click(object sender, EventArgs e) 
{ 
    switch (hiddenCommand.Value) 
    { 
     case "NewFunc": 
      ProcessNewFunc(); 
      break; 

     case "Bug": 
      ProcessBug(); 
      break; 

     case "NewPlace": 
      ProcessNewPlace(); 
      break; 
    } 
} 


:hiddenフィールドに格納されているコマンドoまずサーバーを起動し、成功モードを表示します。そうでなければ、ユーザは btnModalSuccessをクリックせずに成功モードを見てブラウザを閉じ、データがデータベースに保存されないようにすることができます。

それはコードビハインドで次のようになります

protected void btnSubmitNewFunc_Click(object sender, EventArgs e) 
{ 
    // Save data to DB here 
    ... 
    ShowSuccessModal(); 
} 

protected void btnSubmitBug_Click(object sender, EventArgs e) 
{ 
    // Save data to DB here 
    ... 
    ShowSuccessModal(); 
} 

protected void btnSubmitNewPlace_Click(object sender, EventArgs e) 
{ 
    // Save data to DB here 
    ... 
    ShowSuccessModal(); 
} 

private void ShowSuccessModal() 
{ 
    ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowSuccess", "$('#modalsuccess').modal('show');", true); 
} 

ボタンbtnModalSuccessは、単純にポストバックを発生させずにモーダルを却下します:

<asp:Button ID="btnModalSuccess" runat="server" Text="Close" ... OnClientClick="$('#modalsuccess').modal('hide'); return false;" /> 
関連する問題