日期:2014-05-17  浏览次数:20412 次

asp:button回调问题
我页面上有检索按钮,按下后从某处(非数据库)检索符合条件数据,然后我使用动态添加TableRow和TableCell来显示数据。同时还有两个按钮,向下,向前。点向下时需要从某处(非数据库)读取一个图片到服务器上,然后显示到页面上。
问题是,我点向下或向前按钮,页面上之前检索的所以数据都没有了。应该是回调时没有再动态加载。但是我点向下或向前按钮时,业务上不需要再次检索的。

能否将asp:button的回调功能屏蔽掉?求帮助。

------解决方案--------------------
动态添加TableRow和TableCell来显示数据,貌似不好保存视图状态,每次PostBack后原先显示的数据会被清除。
建议使用GridView或者Repeater的数据绑定方式。

也可以使用Asp.net Ajax进行页面的局部更新,需要用到ScriptManager UpdatePanel等控件。
具体使用方法去网上搜一下Asp.net Ajax的相关教程。
------解决方案--------------------
HTML code

        <asp:Repeater ID="Repeater1" runat="server">
            <ItemTemplate>
                <table>
                    <tr>
                        <td>Id
                        </td>
                        <td><%#Eval("Id") %>
                        </td>
                    </tr>
                    <tr>
                        <td>Name
                        </td>
                        <td><%#Server.HtmlEncode(Eval("Name", "{0}")) %>
                        </td>
                    </tr>
                </table>
            </ItemTemplate>
        </asp:Repeater>
        <asp:Button ID="Button" runat="server" Text="Button" onclick="Button1_Click" />