在aspx.cs文件中显示弹出消息框 - Visual Studio 2015

时间:2015-10-06 15:05:59

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

所以我有一个包含产品列表的网页。每个产品旁边都有一个超链接,用户单击该链接以生成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>");
    }

1 个答案:

答案 0 :(得分:0)

所以我找到了一种使用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;
}