我有问题。目前,我在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更改事件?
答案 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