2016-07-06 91 views
0

嗨,对不起我的英文不好。麻烦使用response.redirect

我有一个Asp.net + Vb.Net应用,这里是代码说明我的问题的例子:我有2个按钮Default.aspx页面

首先,“有效”和“重定向”

Protected Sub butvalid_Click(sender As Object, e As EventArgs) Handles butvalid.Click 

    If (File.Exists(Server.MapPath("log.txt"))) Then 
     Dim lines() As String = IO.File.ReadAllLines(Server.MapPath("log.txt")) 

     Dim tmp As Integer = Convert.ToInt32(lines(lines.Length - 1)) 
     tmp = tmp + 1 

     File.AppendAllText(Server.MapPath("log.txt"), Environment.NewLine & tmp.ToString) 
    Else 
     File.WriteAllText(Server.MapPath("log.txt"), "1") 
    End If 

End Sub 

Protected Sub Redirect_Click(sender As Object, e As EventArgs) Handles Redirect.Click 
    Response.Redirect("accueil.aspx") 
End Sub 

有效按钮写入到一个txt文件和重定向被重定向...

这里是accueil.aspx的Page_Load中的代码:

Threading.Thread.Sleep(3000) 
Response.Redirect("default.aspx") 

问题是当我点击Default.aspx页面中的重定向按钮时,有效按钮仍然可以访问,用户可以点击有效按钮。

如何在重定向点击后禁用有效按钮?

在此先感谢。

+1

您需要一个简单的javascript才能在点击重定向按钮后禁用其他按钮。 – Esko

回答

0

将其放置在Page_OnLoad处理程序中,并在每次回发时触发以确保它已绑定。这将禁用客户端的按钮,并且在点击完成后再次触发页面并响应服务器完成时,该按钮将再次启用。

Redirect.Attributes.Add("onclick", "javascript:" 
     + butvalid.ClientID + ".disabled=true;" 
     + Page.ClientScript.GetPostBackEventReference(Redirect, null));  
+0

这个工作对我来说感谢,但我不明白为什么2回发页面上的组件不可用,但他们是如果我们做一个重定向... – Christophe

+0

我不清楚你在说什么,你可以进一步解释? –

+0

@Christophe重定向与回传不同。它是一个新页面,而不是用户点击按钮时的页面 – StingyJack