그래서 제품 목록이있는 웹 페이지가 있습니다. 각 제품 옆에는 사용자가 클릭하여 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을 사용하여이 작업을 수행하는 방법을 찾았습니다. 다음은 javascript 경고를 사용하여 코드 뒤에 정의 된 메시지를 표시하는 .aspx 페이지에있는 코드입니다. .aspx 페이지 맨 아래에 UpdatePanel을 추가했습니다.
<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;
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다