VB.NET如果button1导致后发回

时间:2010-04-05 13:32:29

标签: asp.net vb.net user-controls postback

我有一种情况需要忽略isPostback = true中的页面加载子部分。基本上在isPostBack里面我想要的东西就像button1导致回发....这样做就是这样做...

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    If IsPostBack = True Then

        If TextBox1.Text <> String.Empty Then

            CheckDate()
        End If

    End If


End Sub

4 个答案:

答案 0 :(得分:2)

我认为您需要的是对触发回发的控件名称的引用。

http://geekswithblogs.net/mahesh/archive/2006/06/27/83264.aspx

实施上述链接中的解决方案(从此处获取.... How to Get Source of postback

如果控件名称是您的按钮,则不要执行回发时需要执行的操作。

HTH

答案 1 :(得分:1)

你可能不应该在Page_Load事件中进行所有这些操作。相反,您应该处理可能导致回发的每个控件的事件。这有助于提高代码清晰度,并且易于维护,更不用说首先进行更好的控制了。

这是我在这个主题上发现的一个很好的简短博客文章:http://www.sitepoint.com/blogs/2007/01/21/page_load-is-evil/

顺便提一下,处理事件在ASP.NET中与在其他环境中的处理情况大不相同,我的猜测,基于你在Page_Load事件中试图完成此事实的事实是你还没有“得到”事件驱动的编程模型。 (如果我错了,我道歉,我不是故意侮辱)。

如果我是对的,那么,一旦你习惯了它,对你来说比在经典ASP时代的事情要简单得多,例如,你必须做的事情就像试图找出来一样单击了哪个按钮。这是另一篇很好的文章,可以进一步解释这一点:http://articles.sitepoint.com/article/driven-asp-net-development-c

答案 2 :(得分:1)

很难将此视为一个好主意。在您发布的简短代码段中,看起来您真正需要的是附加到文本框的验证控件。

答案 3 :(得分:0)

查看已发布的项目。你应该在那里看到对那个按钮的某种引用。 IIRC,如果被点击,你会在那里看到某种参考,如果不是,它就不会在那里。 一段时间以前我遇到了同样的问题,这就是我绕过加载某些东西的方式。