跟踪asp.net ajax用户控件中的变量值

时间:2013-09-24 02:26:41

标签: asp.net asp.net-ajax custom-controls

在asp.net页面上工作我创建了一个自定义ajax Web用户控件,它显示列表值的内容(通过数据库调用加载)。该控件包括“下一个”和“上一个”按钮,以及几个文本框。我的初始版本使用会话变量(迭代器)来跟踪用户在单击按钮和使用List []中的值填充文本框时的位置。

在我的下一次迭代中,我需要能够使用这个自定义控件,它将在表格中多次出现(或者更可能是网格),但是我无法弄清楚如何处理迭代器,因为会话变量显然不再有效。

有没有人有建议的方法或推荐的文章?

1 个答案:

答案 0 :(得分:0)

我通过在我的用户控件上创建第二个表单来解决问题,该表单与UpdatePanel中包含的控件隔离。在刷新这些控件之前,隔离控件(在这种情况下为标签)以编程方式分配一个值,当控件Page_Load事件触发时,它引用隔离的标签值以跟踪它的当前位置。我还必须将ScriptManager移出我的控件并将其放在控件将被使用的页面上,因为页面上将有几个自定义用户控件,每页只允许一个ScriptManager。 / p>

<form id="NaviControl" >


<asp:UpdatePanel runat="server">
    <ContentTemplate>
        <asp:Panel ID="controlsPanel" runat="server" HorizontalAlign="Center" >
            <asp:Panel ID="Panel1" runat="server" > 
                <asp:Button ID="btnLast" runat="server" Text="Previous" Height="25px" Width="75px" OnClick="btnLast_Click" />
                <asp:TextBox ID="tbStatusCode" runat="server" ></asp:TextBox>
            </asp:Panel>
            <asp:Panel ID="Panel2" runat="server" HorizontalAlign="Center" >
                <asp:TextBox ID="tbDescription" runat="server"  ></asp:TextBox>
                <asp:Button ID="btnNext" runat="server" Text="Next" Height="25px" Width="75px" OnClick="btnNext_Click" />
            </asp:Panel>
        </asp:Panel>
    </ContentTemplate>
</asp:UpdatePanel>
</form>
<form>
<asp:Label ID="lblCounter" runat="server" visible="false" />
</form>

希望其他一些小组认为这种方法很有用。

相关问题