有没有更简单的方法用ASP.NET显示警告对话框?

本文关键字:显示 警告 对话框 NET ASP 更简单 方法 有没有 | 更新日期: 2023-09-27 18:10:28

我正在使用ASP。NET和c#来创建表单。当用户单击submit时,我验证输入并继续。如果由于任何原因输入无效,我将显示一个警报,通知用户问题。如果一切正常,我就用给定的输入进行工作。我这里的问题是,当我点击提交按钮,页面刷新,擦除所有输入。下面是我在后面代码中所做的一个示例:

saveButton.Click += (s, e) => {
    var errors = "";
    if (string.IsNullOrWhitespace(myField.Text)) errors += "myField is empty or consists of only whitespace.'n";
    //do this for each field
    if (errors == "") { //no errors found!
        //use the input
    }
    else { //something's invalid
        //alert the user
        ShowMessage("Please review these problems before continuing:'n'n" + errors);
    }
};

不会抛出异常,但如果故意发送无效输入,页面会在显示弹出窗口之前刷新。以下是我对ShowMessage()的尝试:

private void ShowMessage(string msg) {
    ClientScript.RegisterClientScriptBlock(GetType(), DateTime.Now.ToString(), "alert(''" + message + "'');", true);
}

private void ShowMessage(string msg) {
     HttpContext.Current.Response.Write("<script language='"JavaScript'">alert('"" + message + "'");</script>");
}

在显示消息之前,再次刷新页面!有没有更简单的方法来显示消息对话框而不刷新页面?

有没有更简单的方法用ASP.NET显示警告对话框?

您可以使用jquery验证输入,然后在任何无效的情况下显示弹出窗口。这样,您就不需要进行回发,这样可以提供更好的用户体验。

这个怎么样:

ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), title,
         "alert('" + somemessage + "');", true);

ScriptManager.RegisterStartupScript(this,this.GetType(),"redirect",
"alert('message'); window.location='" + 
Request.ApplicationPath + "yourPage.aspx';",true);

你可以把这个c#代码包含在on按钮中:

MessageBox.Show("Wrong input.", " Error :", MessageBoxButton.OK, MessageBoxImage.Stop);

可以通过添加

来关闭第一个窗口
Close();