ASP.NET:隐藏所有Div内容 - 无法加载viewstate。错误

时间:2013-05-28 16:04:31

标签: asp.net html hide visible

我试图以编程方式隐藏整个div,使用以下代码:

System.Web.UI.Control divMask = (System.Web.UI.Control)this.Page.FindControl("urinaDiv");

System.Web.UI.HtmlControls.HtmlGenericControl htmlCtrl = (System.Web.UI.HtmlControls.HtmlGenericControl)divMask;            
                            htmlCtrl.Attributes["Visible"] = "false";

这是div:

 <div id="urinaDiv" sytle="width: 600px" runat="server">
                                <asp:Label ID="relatorioUrinaLabel" runat="server" Text="Relatórios Urina"></asp:Label>


                                <br />
                                <br />



                                    <asp:GridView ID="urinasGridview" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource3">
                                        <Columns>
                                            <asp:BoundField DataField="idUtente" HeaderText="IDUten" SortExpression="idUtente" />
                                            <asp:BoundField DataField="nome" HeaderText="Nome" SortExpression="nome" />
                                            <asp:BoundField DataField="apelido" HeaderText="Apelido" SortExpression="apelido" />
                                            <asp:BoundField DataField="data" HeaderText="Data" SortExpression="data" />
                                            <asp:BoundField DataField="idUtenteMarcacao" HeaderText="idUtenteMarcacao" SortExpression="idUtenteMarcacao" visible="false"/>
                                            <asp:BoundField DataField="densidade" HeaderText="Densidade" SortExpression="densidade" />
                                            <asp:BoundField DataField="ph" HeaderText="pH" SortExpression="ph" />
                                            <asp:BoundField DataField="glicose" HeaderText="Glicose" SortExpression="glicose" />
                                            <asp:BoundField DataField="proteinas" HeaderText="Proteínas" SortExpression="proteinas" />
                                            <asp:BoundField DataField="limitacoes" HeaderText="Limitcações" SortExpression="limitacoes" />
                                            <asp:BoundField DataField="observacoes" HeaderText="Obs." SortExpression="observacoes" />
                                        </Columns>
                                    </asp:GridView>



                                <asp:ObjectDataSource ID="ObjectDataSource3" runat="server" SelectMethod="getRelatoriosUrina" 
                                    TypeName="BusinessLogicLayer.Lab_Manager" ></asp:ObjectDataSource>

                                <asp:ObjectDataSource ID="ObjectDataSource6" runat="server" SelectMethod="getRelatoriosUrinaUtente" 
                                    TypeName="BusinessLogicLayer.Lab_Manager" OnSelecting="urinaSelecting"   ><SelectParameters>
                                              <asp:Parameter Name="idUtente" /></SelectParameters></asp:ObjectDataSource>
                                <br />
                                <br />
                                     </div>

但是我收到以下错误:

无法加载视图状态。正在加载视图状态的控制树必须与在上一个请求期间用于保存视图状态的控制树匹配。例如,在动态添加控件时,回发期间添加的控件必须与初始请求期间添加的控件的类型和位置相匹配。

提前多多谢谢!!

1 个答案:

答案 0 :(得分:1)

当您拥有runat="server"

时,无需进行所有投射

仅使用Visible属性:

urinaDiv.Visible=false;