簡體   English   中英

在網頁確認中提交表單

[英]form submission in webpage confirmation

下面的代碼接受表單中的文本並將其插入table.i希望它添加到表中並在顯示消息“已添加數據”后重定向到同一頁面。但問題是它正在獲取重定向到目標頁面但沒有顯示message.im猜測是因為cmd.ExecuteQuery(); 正在生成響應並正在重定向...

但我希望它能夠顯示信息。 我應該做些什么改變。提前謝謝

protected void Button2_Click(object sender, EventArgs e)
{

    string v = System.Configuration.ConfigurationManager.ConnectionStrings["harish"].ConnectionString;
    con = new OracleConnection(v);
    con.Open(); 
    string query="insert into leave_module1 values(:name,:desig,:srno,:tol,:compdates,:fd,:td,:nod,:remarks)";
    OracleCommand cmd = new OracleCommand(query, con);
    //OracleCommand.BindByName = true;
    try
    {
        cmd.Parameters.Add(":name", OracleType.VarChar, 50).Value = DropDownList2.Text;
        cmd.Parameters.Add(":desig", OracleType.VarChar, 30).Value = TextBox10.Text;
        cmd.Parameters.Add(":srno", OracleType.Number, 8).Value = TextBox8.Text;
        cmd.Parameters.Add(":tol", OracleType.VarChar, 10).Value = DropDownList1.Text;
        cmd.Parameters.Add(":compdates", OracleType.VarChar, 30).Value = TextBox9.Text;
        cmd.Parameters.Add(":fd", OracleType.DateTime).Value = TextBox3.Text;
        cmd.Parameters.Add(":td", OracleType.DateTime).Value = TextBox4.Text;
        cmd.Parameters.Add(":nod", OracleType.Number, 3).Value = TextBox5.Text;
        cmd.Parameters.Add(":remarks", OracleType.VarChar, 50).Value = TextBox7.Text;
        cmd.ExecuteNonQuery();
        ClientScript.RegisterStartupScript(Page.GetType(), "validation",
         "<script language='javascript'>alert('The Data has been added')</script>");
        Response.Redirect("Default2.aspx");


    }
    catch
    {

        Label13.Visible = true;           

    }

    con.Close();    

}

這是因為你的代碼將JS腳本添加到起始頁面(比如說Default1.aspx),然后你重定向到Default2.aspx ,它不包含JS代碼。

我建議你將一個參數(可能使用QueryString)傳遞給Default2.aspx頁面,該頁面將顯示該消息。

我不建議您使用Alert來顯示消息。 您最好在頁面上使用div或使用JQuery插件來顯示消息

http://jqueryui.com/demos/dialog/

嘗試將以下內容更改為javascript。

ClientScript.RegisterStartupScript(Page.GetType(), "validation",  
     "<script language='javascript'>alert('The Data has been added')</script>");  

對此

ClientScript.RegisterStartupScript(Page.GetType(), "validation",  
     "<script language='javascript'>alert('The Data has been added');window.location="Default2.aspx" </script>");  

並刪除代碼中的以下內容

Response.Redirect("Default2.aspx"); 

如果您希望用戶在該頁面上看到消息,您需要在插入數據后允許該頁面可見,而不是立即重定向。 而不是使用服務器端Response.Redirect,您將需要使用Javascript(客戶端代碼)幾秒后重定向。 使用Javascript中的setTimeout()延遲。

這里這里解釋執行此操作所需的JavaScript。

不要使用Response.Redirect。

只需使用javascript:

ClientScript.RegisterStartupScript(Page.GetType(), "validation", 
     "<script language='javascript'>alert('The Data has been added'); window.location='default2.aspx';</script>");         

我使用Session對象而不是JavaScript做了類似的事情。 也許這個想法會對你有幫助。

我在母版頁中創建了一個消息變量,在像我這樣的情況下我會這樣做

  • 使用必要的文本設置消息變量
  • 重定向到所需的aspx頁面
  • 母版頁檢查是否有要顯示的消息。 如果是,則顯示一個面板並重置該變量

在您的情況下,面板可以有一個OK或CLOSE按鈕,或者您可以使用Ajax Control Toolkit中的其他對象。

暫無
暫無

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

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