【问题标题】:Refresh GridView data刷新 GridView 数据
【发布时间】:2012-09-13 18:31:06
【问题描述】:

在我第一次加载我的aspx 页面时,我有一个GridView 已填充。

在我的ASPX 页面中,我处理单选按钮上的点击事件

    $("#ctl00_contentConteudo_rbBuscas_1").click(function () {
        $.get("../Gerenciar/ListaUsuarioProvisorio.aspx?Documentacao=s&r=" + Math.random(2), {}, function (data) {                
        });
    });

所以,当我的单选按钮被点击时,这种力量会再次传递我的页面加载。

ASPX

<div id="infoGrid" runat="server">
    <cc1:GridView ID="grdImoveis" CssClass="StyleGrid" Width="100%" runat="server" ShowHeader="false"
        AutoGenerateColumns="False" DataSourceID="dsGrid" BorderWidth="0px" GridLines="None"
        AllowPaging="True" EnableModelValidation="True" >
        <AlternatingRowStyle BackColor="White" CssClass="EstiloDalinhaAlternativaGrid" HorizontalAlign="Center" />
        <RowStyle CssClass="EstiloDalinhaGrid" HorizontalAlign="Center" />
        <Columns>
            <asp:BoundField HeaderText="Nome" DataField="NomeCompleto" />
            <asp:BoundField HeaderText="Cargo" DataField="DescricaoCargo1" />
            <asp:BoundField HeaderText="Data Cadastro" DataField="DataHora" />
            <asp:TemplateField ControlStyle-CssClass="acoes_lista_imovel" HeaderText="Curso">
                <ItemTemplate>
                    <div class="acoes_lista_imovel">
                        <%# montaIcones(Eval("Usuario_Id").ToString())%>
                    </div>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </cc1:GridView>
    <asp:SqlDataSource ID="dsGrid" runat="server"></asp:SqlDataSource>
</div>

代码隐藏

在我后面的代码中,我的PageLoad 只需调用我的CarregaLista 方法,它填充我的GridView

protected void CarregaLista()
        {            
                string documentacao = Request.QueryString["Documentacao"].ToString();

                if (documentacao.Equals("s"))
                {
                    string select = string.Empty;
                    select += "SELECT top 10 San_Credenciada.Apelido, San_Usuario.NomeCompleto, San_Usuario.Usuario_Id, San_Usuario.DescricaoCargo1, "
                        + "CONVERT(varchar, San_Usuario.DataHora, 103) AS DataHora "
                        + "FROM San_Usuario "
                        + "JOIN San_Credenciada "
                        + "ON San_Usuario.Credenciada_Id = San_Credenciada.Credenciada_Id "
                        + "WHERE San_Usuario.Excluido = 0 "                        
                        + "GROUP BY San_Credenciada.Apelido, San_Usuario.NomeCompleto, San_Usuario.Usuario_Id, "
                        + "San_Usuario.DescricaoCargo1, San_Usuario.DataHora "
                        + "ORDER BY San_Usuario.DataHora ASC ";

                    dsGrid.ConnectionString = c.Con;
                    dsGrid.SelectCommand = select;
                    dsGrid.DataBind();
                    grdImoveis.DataBind();
                    dsGrid.Dispose();
                }
            }
}

带更新面板

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" >
    <ContentTemplate>
                <asp:RadioButton ID="RadioButton2" runat="server" Text="Curso Básico Netimóveis" />
                <asp:RadioButton ID="RadioButton1" runat="server" Text="Buscar Lista de Presença" />
                <asp:RadioButton ID="rdBuscas" runat="server" OnCheckedChanged="Click" Text="Curso Documentação Imobiliária" />
        <cc1:GridView ID="grdImoveis" CssClass="StyleGrid" Width="100%" runat="server" ShowHeader="false"
            AutoGenerateColumns="False" DataSourceID="dsGrid" BorderWidth="0px" GridLines="None"
            AllowPaging="True" EnableModelValidation="True" >
            <AlternatingRowStyle BackColor="White" CssClass="EstiloDalinhaAlternativaGrid" HorizontalAlign="Center" />
            <RowStyle CssClass="EstiloDalinhaGrid" HorizontalAlign="Center" />
            <Columns>
                <asp:BoundField HeaderText="Nome" DataField="NomeCompleto" />
                <asp:BoundField HeaderText="Cargo" DataField="DescricaoCargo1" />
                <asp:BoundField HeaderText="Data Cadastro" DataField="DataHora" />
                <asp:TemplateField ControlStyle-CssClass="acoes_lista_imovel" HeaderText="Curso">
                    <ItemTemplate>
                        <div class="acoes_lista_imovel">
                            <%# montaIcones(Eval("Usuario_Id").ToString())%>
                        </div>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </cc1:GridView>

        <asp:SqlDataSource ID="dsGrid" runat="server"></asp:SqlDataSource>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="rdBuscas" />
        </Triggers>        
        </asp:UpdatePanel>

我的问题是我的GridView 没有用这个查询刷新。

我该如何解决这个问题?

【问题讨论】:

  • 你的页面加载了吗?为什么不直接使用点击事件的回发,因为您在服务器端制作所有代码。
  • 但是我怎样才能点击我的单选按钮并再次调用我的页面加载?

标签: c# jquery webforms


【解决方案1】:

您可以使用Ajax Tretament - 基于UpdatePanelTriggersUpdateMode="Condition"

您可以使用此代码(在触发器上调整您的 GridView 和单选按钮的 Id)

<asp:ScriptManager ID="ScriptManager1" runat="server" >
</asp:ScriptManager>

<asp:UpdatePanel ID="UpdatePanel1" runat="server" ModeUpdate="Conditional">
    <ContentTemplate>

        <asp:GridView ID="GridView1" runat="server">
            <Columns>
                  ......
            </Columns>
        </asp:GridView>


       <asp:RadioButton ...../> 

    </ContentTemplate>


    <Triggers>
          <asp:AsyncPostBackTrigger ControlID="YourRadioButtonId" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>

【讨论】:

  • 好吧,卢卡斯,如果你需要,我在这里
  • EventNameTrigger 是对我的 RadioButton 中存在的任何事件的引用?我的 Radiobutton 中的事件必须调用 Click ?
  • EventName="Click" 很好,他被映射到事件例如 Click 或 SelectIndexChanged 等;;;;
  • 我收到了这个错误。 A control with ID 'rbBuscas' could not be found for the trigger in UpdatePanel 'UpdatePanel1'。奇怪的错误,因为我的 RadioButton 的 id 是 rbBuscas
  • 将您的单选按钮添加到 gridview 的更新面板底部
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-29
  • 1970-01-01
  • 2013-07-22
  • 2015-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多