【问题标题】:How to display save confirmation message on my Web form when user saves new form by clicking Save button当用户通过单击保存按钮保存新表单时如何在我的 Web 表单上显示保存确认消息
【发布时间】:2012-04-03 23:22:22
【问题描述】:

我对 ASP.NET 很陌生。我正在处理其他一些开发人员的 Web 表单。我被要求修复一个错误,上面写着:

用户点击保存按钮后不显示成功信息 向表单添加信息(第一次或更新时)

页面顶部有一个标签,ID为lblMsgs

<asp:Label ID="lblMsgs" runat="server">

我已将此添加到代码后面的适当位置:

lblMsgs.Text = "Message Text";

现在,我的问题是如何修改 HTML 或后面的代码,以确保在单击“保存”按钮时,代码会检查数据是否已保存到数据库并在 Web 表单上显示保存成功消息。

您能否通过上面使用我的标签 ID 的代码示例提供帮助?

提前谢谢你。

【问题讨论】:

    标签: asp.net webforms


    【解决方案1】:

    这是一个非常模糊的问题,但如果您正在寻找数据验证,您应该查看内置的 ASP.NET 验证器。这可以进行客户端/服务器端数据验证。至于根据数据库的成功更新向用户返回消息,这将是特定于解决方案的,具体取决于您使用的数据层类型。

    【讨论】:

    • 您的权利。我的问题不清楚。我已经修改了它。我并没有真正验证数据,只是确保将其保存到数据库中。附加信息会有所帮助。谢谢。
    • 通常情况下,写入数据库的代码(例如 ADO.NET、EF、Linq2Sql 等)如果无法写入数据库,则会引发错误。您可以将它包装在 TryCatch 中,如果它引发错误并且无法写入数据库,您可以更新 lblMsg。如果您想验证您的更改是否已写入数据库,您还可以在创建/更新后查询数据库。
    【解决方案2】:

    在您的“保存”按钮处理程序上,您可以添加验证逻辑是否数据有效。

    protected void ValidateSave(object o, EventArgs e){
        if (Page.IsValid) {
             // Save to DB and notify of update status
             var success = SomeDBMethod.Update...
             if (success){
                 DoAlert("Saved Successfully!");
             }
        }
        else { lblMsgs.Text = "Failed"; }
    }
    
    // Call client-side alert
    private void DoAlert(string message) {
        ClientScriptManager cs = Page.ClientScript;
    
        var x = "alertScript";
        if (!cs.IsStartupScriptRegistered(cstype, x))
        {
          String script = string.Format"alert('{0}', message);";
          cs.RegisterStartupScript(cstype, x, script, true);
        }
    }
    

    【讨论】:

    • 非常感谢您的帮助。我想这就是我忘记问的部分的答案。我的问题可能表述错误。但它确实有帮助。接下来,如果数据保存到数据库,我想显示一条消息,如“保存成功”。你能告诉我还应该在代码中添加什么吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多