如何阻止事件在页面加载时触发?

时间:2011-04-11 06:09:13

标签: asp.net vb.net

我有问题。目前,我在PageLoad期间设置了文本框值。但是,这会触发文本框更改事件。

标记

    <asp:TextBox ID="txtToDate" CssClass="text" 
runat="server" Width="100px" ReadOnly="false" 
AutoPostBack="true" ></asp:TextBox>

在页面加载

txtToDate.Text = Format(Now.Date, "MM/dd/yyyy")

Textchange事件

    Protected Sub txtToDate_TextChanged(ByVal sender As Object, 
ByVal e As System.EventArgs) Handles txtToDate.TextChanged
        Me.Grid.Visible = False
    End Sub

如何阻止PageLoad中的更改触发texbox更改事件?

3 个答案:

答案 0 :(得分:2)

正如您在问题中所提到的,您不希望在PageLoad事件期间隐藏网格,但您希望在TextChange Textbox事件中隐藏网格。你可以试试像......

Protected Sub txtToDate_TextChanged(ByVal sender As Object, 
ByVal e As System.EventArgs) Handles txtToDate.TextChanged
    if(Page.IsPostBack)
        Me.Grid.Visible = False
    End Sub

答案 1 :(得分:0)

将TextBox.AutoPostback的设置更改为“False”。这将阻止文本框在更改时触发这些事件。

答案 2 :(得分:0)

您可以在更改文本值后以编程方式设置事件,而不是以声明方式设置事件。 e.g

txtbox.Text = "something"
txtbox.TextChanged += New EventHandler(AddressOf txtbox_TextChanged)

Private Sub txtbox_TextChanged(sender As Object, e As EventArgs)
    'do something here
End Sub