在aspx.cs文件中显示弹出消息框

本文关键字:消息 显示 aspx cs 文件 | 更新日期: 2023-09-27 18:16:12

所以我有一个产品列表的网页。每个产品旁边都有一个超链接,用户单击该链接即可生成Word文档,并可供用户查看。每个产品都有ID、尺寸等。

我有在aspx.cs代码后面执行的代码和一个try-catch块,检查所选产品是否有大小。如果产品没有任何尺寸,那么我希望出现一个弹出消息框,提醒用户尚未记录产品的尺寸,因此无法生成文档。

我的问题是,我怎样才能做到这一点?我已经尝试了Response.Write(…)函数和Page.ClientScript.RegisterStartupScript(…)函数。两者都构建良好并执行,但没有弹出消息。我知道我以前使用过Response.Write()函数,它在VS2013中工作,但似乎在VS2015中不起作用。

下面是我的代码。任何帮助/建议都是非常感谢的。

    //Alert the user to fix the data if the parent sizes are missing from the Sizes column in ProductMart
    try
    {
        //This is set to null to execute Catch block
        parentSizeList = null;
        pSizes = parentSizeList.Split(',');
        foreach (var p in pSizes)
            parentSizes.Add(p);
    }
    catch 
    {
        Page.ClientScript.RegisterStartupScript(GetType(), "msgbox", "alert('TEST');", true);
        Response.Write("<script type='"text/javascript'">alert('The Measurement Sizes are missing in the Product Mart for the parent product. " + 
            " Please fix the data for Pack Number " + product.PackNumber + " to print inspection document');</script>");
    }

在aspx.cs文件中显示弹出消息框

所以我找到了一种使用UpdatePanel来做到这一点的方法。下面是我的.aspx页面中的代码,它使用javascript警报来显示在后面的代码中定义的消息。我将UpdatePanel添加到我的。aspx页面的最底部。

<asp:UpdatePanel id="UpdatePanel1" class="noSizesUpdatePanel" runat="server">
    <ContentTemplate>
        <script type="text/javascript">
            alert('<%=message%>');
        </script>
    </ContentTemplate>
</asp:UpdatePanel>

在我的Page_Load后面的代码,我做了一个UpdatePanel1.Visible = false隐藏警报框,直到需要。

我在后面的代码中创建了一个公共属性public string message;

然后在try-catch块中:

try
{
    //Do stuff
}
catch (Exception)
{
    message = "Whatever you want your message to be";
    UpdatePanel1.Visible = true;
}