在Sharepoint中处理Webpart中的回发

时间:2010-09-28 14:52:57

标签: .net vb.net sharepoint postback web-parts

我正在通过代码将GridView,文本框和按钮初始化为CreateChildControls中的Webpart()

上述控件被声明为类变量,但稍后才会初始化。

接下来,我给了按钮点击的处理程序。处理程序函数应该用作搜索 - 对文本框中输入的内容执行一些操作,将结果加载到Gridview中,显示Gridview

当我在文本框中输入内容并点击按钮时,相同的控件再次加载,并且在文本框中输入的内容将丢失。我试过ViewState()和ViewState()但无济于事。网格没有显示,因为我的逻辑跳过尝试绑定它,因为没有合适的搜索字符串。

我的问题: 1)在哪里/如何从文本框中回发值? 2)在PreRender()中填充GridView或在PreRender()之后发生事件处理是否有意义?

编辑: 好像事件处理程序没有被调用。

Dim btnClickHandler = New EventHandler(AddressOf SetSearchParameter)
AddHandler srchBtn.Click, btnClickHandler

是对的吗?

编辑: 我重写了0的所有代码。现在正在工作。

2 个答案:

答案 0 :(得分:1)

这也让我感到困惑。我总是引用this question以便直截了当(也是control execution lifecycle)。

  1. 您不需要管理视图状态,控件应自动处理。

  2. 我建议使用OnPreRender来填充网格。到那时,您的控件的值应由ViewState填充。

答案 1 :(得分:0)

您应该能够在按钮单击的事件处理程序中引用控件值,具体取决于如何构建静态/动态。 (文本框)Page.FindControl('controlname')。按钮单击的事件处理程序中的值。

呃...这个.findcontrol。

我从内存中执行此操作,因此语法可能会关闭。