2010-09-29 130 views
0

我在asp.net 3.5工作,并有一些问题的更新panel.I在页面中有一些html内容和Formview控件。我想在Formview中没有数据时隐藏html内容,并显示Formview控件中有数据时。我的Formview控件位于updatepanel中,它与SqlDataSource绑定,Formview绑定在一些条件上。 如果有人知道如何解决这个问题,那么请帮助我。Asp.net更新面板

回答

0

如果您希望在Ajax回发之后隐藏HTML内容,它将需要位于UpdatePanel之内,或者与FormView相同,或者是单独的一个。

如果它在一个单独的,你需要某种方式强制它更新时,FormView更新。您可以在一些代码隐藏的情况下执行此操作,调用UpdatePanel的Update()方法,或者将包含HTML的UpdatePanel添加AsyncPostBackTrigger,可能使用FormView的DataBound事件。

此外,要轻松隐藏HTML内容,请将其放在Panel中,并使用Visible属性。

触发的一个例子:

<asp:UpdatePanel ID="updatePanel" ... runat="server"> 
    <ContentTemplate> 
     ... 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="formViewId" EventName="DataBound" /> 
    </Triggers> 
</asp:UpdatePanel> 
+0

格雷厄姆感谢您的回复。但我的问题是这样的:我有一个窗体在页面上有下拉,网格视图,FormView和列表视图,所有在那里单独的更新面板和一些像div一样的html也在页面上,但div不在任何更新面板中。现在,在下拉菜单视图的所选索引更改事件或其他控件列表视图和表单视图的变化上进行填充。现在我想要的是,如果发生任何事件(上面提到),那么我想检查控制列表视图是否有数据,然后我想在页面上显示一些HTML文本,否则它将被隐藏。 – ashok 2010-09-29 09:13:25

+0

好吧,好像你需要把你的HTML放在一个Panel中,全部放在一个新的UpdatePanel中,然后创建一个服务器端事件处理程序来处理SelectedIndexChanged事件。在这里,检查ListView,并设置HTML所在面板的'Visible'属性。 – 2010-09-29 09:28:28

0

这个问题简单地使用在的UpdatePanel和的UpdatePanel的UpdatePanel_preRender情况下把所有的HTML内容的检查,如果的GridView有数据则显示HTML内容,否则隐藏

解决