如何在提交时显示“成功”消息?

时间:2011-03-05 05:54:40

标签: c# asp.net visual-studio-2010

在ASP.NET中使用C#,当用户提交表单时如何显示“成功”消息?并同时说“图像已成功保存”,带有链接,以便通过点击链接查看创建的图像?

4 个答案:

答案 0 :(得分:6)

将您的表单换成<asp:Panel>并使用<asp:Panel>创建另一个Visible="False"以获取感谢信息。提交表单后,更改每个面板的可见性,将表单设置为Visible="False",将感谢信息面板设置为Visible="True"

希望有道理,这是一个例子:

<asp:Panel ID="pnlFormFields" runat="server">
    ... form fields here ...
</asp:Panel>

<asp:Panel ID="pnlThankYouMessage" runat="server" Visible="False">
    ... Thank you message here ...
</asp:Panel>

然后在您的代码隐藏

protected void btnSubmit_Click(object sender, EventArgs e) {
    // Hook up uploaded image and assign link to it
    pnlFormFields.Visible = false;
    pnlThankYouMessage.Visible = true;
}

答案 1 :(得分:2)

如果您需要标签来显示消息。在页面上添加标签并在aspx中设置其属性visible = false,并使用以下代码:

protected void btnSubmit_Click(object sender, EventArgs e) {
    if(SaveRecordsToDataDatabase())
    {
       If(UploadImage())
       {

           showMessage("Save successfull",true);
       }
       else
       {
          showMessage("Save failed",false);
       }
    }
    else
       {
          showMessage("Save failed",false);
       }
}

private bool UploadImage()
{
  // you upload image code..
}

private bool SaveRecordsToDatabase()
{
  // db save code
}

private void showMessage(string message, bool success)
{
    lblMsg.visible = true; // here lblMsg is asp label control on your aspx page.
    lblMsg.FontBold = true;
    if(success)
       lblMsg.ForeColor = Color.Green;
    else
       lblMsg.ForeColor = Color.Green;
    lblMsg.Text = message;
}

为了保持一致性,您可以在上面的代码中使用Transaction,以便在图像上传失败时阻止保存操作。否则它是你的选择。带有Transaction的新代码将在下面给出:

 protected void btnSubmit_Click(object sender, EventArgs e) {

using(TransactionScope scope = new TransactionScope())
{
        if(SaveRecordsToDataDatabase())
        {
           If(UploadImage())
           {

               showMessage("Save successfull",true);
           }
           else
           {
              showMessage("Save failed",false);
           }
        }
        else
           {
              showMessage("Save failed",false);
           }
    }
    scope.complete()
}

这里引用事务范围,添加引用System.Transactions。

答案 2 :(得分:0)

如果您想在客户端控件上显示消息,例如alert(“saccess”); 你可以在Why doesn't my jQuery code work in Firefox and Chrome?中使用ajax和webmethod 如果你想在服务器端显示消息,你可以使用面板,标签或div(runat服务器并具有id)和默认设置,设置可见假,当你显示消息时,你可以通过后面的代码设置可见的真..

答案 3 :(得分:0)

使用标签(visible = false)和工具箱中的超链接。当您上传图像时,您必须将保存文件位置的url插入到数据库中。当触发该插入查询时将返回一个整数值是没有在db.compare中插入的行,如果该值&gt; 0然后将label的visibily设置为true,并且label.text =“success”最后将超链接的导航URL设置为已保存图像的d url,可用于创建图像的视图链接