C# asp. net обновить значение сетки без обновления страницы - PullRequest
0 голосов
/ 06 февраля 2020

Я ищу способ обновить значение gridview без ссылки на страницу sh, я использовал updatepanel, и он отлично работает, когда я использую BoundField, но когда я использую ItemTemplate с меткой, данные gridview исчезают, когда я нажимаю кнопку обновления и мне нужно обновить страницу sh, чтобы получить обновленные данные.

и если я не использовал панель обновления, данные не исчезнут, но не будут обновлены без обновления страницы sh.

protected void button_1(object sender, EventArgs e)    
{

            using (SqlConnection sqlCon = new SqlConnection(@"Data Source= DESKTOP-U9437PU; initial Catalog = Mydb; Integrated Security =True;"))
            {
                sqlCon.Open();

                using (SqlCommand cmd = new SqlCommand("select stat_id from requests_table where  req_id ='1'", sqlCon))
                {
                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        if (reader.Read())
                        {
                            Label_stat2.Text = reader["stat_id"].ToString();

                        }
                    }
                }

                if (Label_stat2.Text == "1")
                {

                    string sql = "update requests_table set stat_id = '2' where req_id ='" 1 "'";
                    SqlCommand cmd1 = new SqlCommand(sql, sqlCon);
                    cmd1.ExecuteNonQuery();
                    cmd1.Dispose();
                    sqlCon.Close();

            GridView1.DataBind();
            UpdatePanel2.Update();


                }
                else
                {
                    //do nothing
                }
            }
            GridView1.DataBind();
            UpdatePanel2.Update();

        }

        else
        {
         //do nothing

        }
}

Разметка:

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

                                   <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">

                                   <ContentTemplate>




                    <asp:GridView ID="GridView1"  CssClass="datatable"  runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" AllowPaging="True"  PageSize="5"  
                         AllowSorting="True" EnableViewState="false"><Columns >

                            <asp:TemplateField HeaderText="<%$Resources:mj.resource, req_id%>" SortExpression="req_id">
                            <ItemTemplate >
                            <asp:Label ID="req_id" runat="server"></asp:Label></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="<%$Resources:mj.resource, req_subject%>" SortExpression="req_subject">
                            <ItemTemplate >
                            <asp:Label ID="req_subject" runat="server"></asp:Label></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="<%$Resources:mj.resource, req_priority%>" SortExpression="priority_id">
                            <ItemTemplate >

                     <asp:TemplateField>
                       <ItemTemplate>
                           <asp:Button ID="ButtonUnder1"  runat="server" CommandArgument='<%# Bind("req_id") %>' CssClass="my_btn" OnClick="button_1" UseSubmitBehavior="false" OnClientClick = "Confirm2()"   />
                     </ItemTemplate>
                  </asp:TemplateField>


                        </Columns>

                           <PagerSettings Mode="NumericFirstLast" Position="Bottom" PageButtonCount="5" NextPageText=">>" PreviousPageText="<<" />


        </asp:GridView>



              </ContentTemplate>
              </asp:UpdatePanel>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...