2016-07-15 31 views
0

我有一個asp.net表單,其中有3個按鈕,它觸發相關按鈕的點擊和用戶輸入詳細信息。目前,每個模式都有一個OnClick,這些對我有用後面的代碼。根據點擊哪個提交按鈕指定不同的點擊

我想現在實現一個成功的模態,當點擊這些模式中的每一個'提交'時顯示。

我想只有我的另一個人的三個共享的成功模式。當初始模態關閉並且我的成功模式被顯示出來時,我有點工作,但是它沒有寫入我的數據庫。

如果我的廣告我OnClick我對我的成功模式按鈕,郵寄的,以我的數據庫之一,所以我想我需要一些如何,對成功模式的添加OnClick到我的「關閉」按鈕,但我需要它根據首先選擇哪個按鈕來填充正確的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" /> 

成功模式的關閉按鈕

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

我想我明白你想實現什麼,但你必須分享相關的JS代碼。另外你是什麼意思?「我有點工作,因爲初始模態關閉,然後我的成功模式顯示,但它不寫入我的數據庫。」什麼不寫入數據庫? – marekful

+0

@marekful目前(沒有'成功'模式),當用戶填寫3個模式之一的字段時,當他們點擊「提交」時,它將輸入到數據庫表中的所有細節作爲每個按鈕的當前「OnClick」在我的代碼中做不同的事情,所以我需要一種方法來添加正確的'Onclick',取決於哪個初始按鈕被點擊,所以它使用正確的代碼背後 – murday1983

+0

@marekful我目前沒有任何JS共享,因爲這是位im不確定如何編寫並通過成功進行工作'關閉'按鈕 – murday1983

回答

1

如果您要提交的數據上btnModalSuccess,當點擊,你可以先在一個隱藏字段保存原始命令名稱:

<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');" /> 

與此Javascript效用函數的幫助:

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

btnModalSuccess事件處理程序,處理將取決於存儲在隱藏字段命令:

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

     case "Bug": 
      ProcessBug(); 
      break; 

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


話雖這麼說,我可能會建議您發佈數據T先服務器,然後顯示成功模式。否則,用戶可以看到成功模式並關閉瀏覽器而不點擊 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;" />