中显示错误消息。
在客户端脚本中自定义错误处理
在前面创建的页面中, 切换到“源”视图。
向该页面中添加以下标记:
<div id="AlertDiv">
<div id="AlertMessage">
</div>
<br />
<div id="AlertButtons">
<input id="OKButton" type="button" value="OK" runat="server" onclick="ClearErrorState()" />
</div>
</div>
</div>
该标记 包括一些元素,您可以使用这些元素显示部分页呈现错误。该标记定义了名称为 AlertDiv 的 <div> 元素,该元素中包含有他两个 <div> 元素。其中一个嵌套 <div> 元素包含有一个 <input> 控件,用户可以利用该 ���件隐藏 <div> 元素。
在 <head> 元素中添 加下列样式标记:
<style type="text/css">
#UpdatePanel1 {
width: 200px; height: 50px;
border: solid 1px gray;
}
#AlertDiv{
left: 40%; top: 40%;
position: absolute; width: 200px;
padding: 12px;
border: #000000 1px solid;
background-color: white;
text-align: left;
visibility: hidden;
z-index: 99;
}
#AlertButtons{
position: absolute; right: 5%; bottom: 5%;
}
</style>
该样式可以使错误信息与其他页面内容相比显得更加显眼。
切换到“设计”视图,并验证您的页面是否与下列页面相似:
在“属性”窗口顶部的下拉列表中,选择 DOCUMENT 元素(它表示页面中的 <body> 元素),然后将该元素的 Id 属性设置为 bodytag。
切换到“源”视图。
将下列 <script> 块添加到 <asp:ScriptManager> 元素后的任意位置。
<script type="text/javascript" language="javascript">
var divElem = ''AlertDiv'';
var messageElem = ''AlertMessage'';
var bodyTag = ''bodytag'';
Sys.WebForms.PageRequestManager.getInstance().add_endRequest (EndRequestHandler);
function ToggleAlertDiv(visString)
{
if (visString == ''hidden'')
{
$get(bodyTag).style.backgroundColor = ''white'';
}
else
{
$get(bodyTag).style.backgroundColor = ''gray'';
}
var adiv = $get(divElem);
adiv.style.visibility = visString;
}
function ClearErrorState() {
$get(messageElem).innerHTML = '''';
ToggleAlertDiv(''hidden'');
}
function EndRequestHandler(sender, args)
{
if (args.get_error() != undefined)
{
var errorMessage;
if (args.get_response().get_statusCode() == ''200'')
{
errorMessage = args.get_error().message;
}
else
{
// Error occurred somewhere other than the server page.
errorMessage = ''An unspecified error occurred. '';
}
args.set_errorHandled(true);
ToggleAlertDiv(''visible'');
$get(messageElem).innerHTML = errorMessage;
}
}
</script>
乎重云峇佩參和荷恬?
葎 PageRequestManager 窃議 endRequest 並 |