簡體   English   中英

基於服務器端邏輯(ASP.NET)觸發JavaScript確認

[英]Trigger javascript confirm based on server side logic (ASP.NET)

有沒有辦法使以下代碼有效? 基本上,當我單擊btnOne時,如果a為true,我希望它會彈出確認框。 如果我按是,那么它將執行btnTwo方法。 否則,它什么也不會做。 目前,它沒有彈出窗口,我不確定為什么。 有人可以指出正確的方向嗎? 或讓我知道實現此目標的其他方法。

任何信息將不勝感激。

例如:

public void btnTwo(object sender, EventArgs e)
{
    //Do some processing
}

public void btnOne(object sender, EventArgs e)
{
    if( a == true )
        btnTwo.Attributes["onClick"] = "return confirm('test');"

    btnTwo(sender, new EventArgs());
}

我認為您正在混合很多客戶端和服務器端? 您可以在客戶端選中“ a”(隱藏字段)嗎?

或在代碼后面檢查值之后,添加帶有確認的啟動腳本,然后單擊“確定”,單擊javascript中的第二個按鈕。

Protected Sub btnSecond_Click(sender As Object, e As System.EventArgs) Handles btnSecond.Click
    Me.lblInfo.Text = "SecondClick is done!"
End Sub

Protected Sub btnFirst_Click(sender As Object, e As System.EventArgs) Handles btnFirst.Click
    a = 10
    Dim action As String = "<script> if(confirm('sure ?')){  document.getElementById('" & btnSecond.ClientID & "').click()} </script>"
    If (a > 5) Then
        Page.ClientScript.RegisterStartupScript(Me.Page.GetType(), "startConfirm", action)
    End If
End Sub

和標記:

<form id="form1" runat="server">
<div>
    <asp:Button runat="server" ID="btnFirst" />
    </br>
    <asp:Button runat="server" ID="btnSecond" />
    <asp:Label runat="server" ID="lblInfo" />
</div>
</form>

確保已到達代碼,並改用OnClientClick

protected void Page_Load(object sender, EventArgs e)
{
    bool a = true;        
    if (a)
        btnTwo.OnClientClick = "return confirm(\"Are you sure?\");";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM