如果在回发期间完成,ASP.Net链接将不会禁用

时间:2009-04-03 13:33:28

标签: asp.net postback hyperlink

我仍然是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

1 个答案:

答案 0 :(得分:3)

您的代码示例使用IsCallBack检查,而问题文本则讨论IsPostback检查。我将验证您是否在代码中使用Page.IsPostBack来关闭链接。