我仍然是ASP.Net的新手,所以如果这是一个愚蠢的问题请原谅我。
在页面加载时,我正在显示一个进度表,之后我会回发以便处理页面的实际加载。在回发期间,根据某些标准我正在禁用页面上的某些链接。但是,链接不会禁用。我注意到,如果我强制链接禁用第一次(通过调试)链接禁用就好了。但是,我当时没有我需要的数据来决定禁用。
代码背后
If (Not IsCallback) Then
pnlLoading.Visible = True
pnlQuote1.Visible = False
Else
pnlLoading.Visible = False
pnlQuote1.Visible = True
<Load data from DB and web service>
<Build page>
If (<Some Criteria>) Then
somelink.Disable = True
End If
End If
的JavaScript
if (document.getElementById('pnlQuote1') === null) {
ob_post.post(null, 'PerformRating', ratingResult);
}
ob_post.post是一个obout js函数,它执行正常的回发,然后调用第二个参数指定的服务器方法。然后调用第三个参数命名的JavaScript方法。第一个参数是要回发的页面。值null返回当前页面。
回帖工作正常。所有方法都以正确的顺序调用。给我带来麻烦的代码是以粗体显示的代码。 (somelink.disabled = True实际上并没有禁用链接)同样,如果我调试并强制禁用链接在第一次发生时,它会禁用。有谁知道我可以做些什么来解决这个问题?
谢谢, GRB
答案 0 :(得分:3)
您的代码示例使用IsCallBack检查,而问题文本则讨论IsPostback检查。我将验证您是否在代码中使用Page.IsPostBack来关闭链接。