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