Мне нужна помощь с updatepanel.У меня есть сетка, подобная этой:
<asp:UpdatePanel ID="UpdatePanel1" runat="server" EnableViewState="false" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DropDownList2" EventName="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<asp:TextBox ID="TextBox2" runat="server" TextMode="MultiLine" Width="294px"></asp:TextBox>
<br />
<br />
<asp:GridView ID="GridView1" runat="server" AllowSorting="True"
BackColor="#FFFFCC" Width="100%" AutoGenerateSelectButton="True"
BorderWidth="1px" EnableSortingAndPagingCallbacks="True"
onselectedindexchanging="GridView1_SelectedIndexChanging"
onselectedindexchanged="GridView1_SelectedIndexChanged">
<Columns>
<asp:BoundField DataField="nazwa_dysku" HeaderText="Nazwa Dysku"
SortExpression="nazwa_dysku" />
<asp:BoundField DataField="folder" HeaderText="Folder"
SortExpression="folder" />
<asp:BoundField DataField="nazwa_pliku" HeaderText="Nazwa Pliku"
SortExpression="nazwa_pliku" />
<asp:BoundField DataField="czas_trwania" HeaderText="Czas trwania"
SortExpression="czas_trwania" />
<asp:BoundField DataField="rozmiar" HeaderText="Rozmiar"
SortExpression="rozmiar" />
<asp:BoundField DataField="data_utworzenia" HeaderText="Data utworzenia"
SortExpression="data_utworzenia" />
<asp:BoundField DataField="data_modyfikacji" HeaderText="Data modyfikacji"
SortExpression="data_modyfikacji" />
<asp:BoundField DataField="sciezka" HeaderText="Lokalizacja"
SortExpression="sciezka" />
</Columns>
<HeaderStyle BackColor="#9A6E71" Font-Size="Medium" />
<SelectedRowStyle BackColor="Red" />
</asp:GridView>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="GridView1" EventName="SelectedIndexChanged" />
<asp:AsyncPostBackTrigger ControlID="GridView1" EventName="SelectedIndexChanging" />
</Triggers>
</asp:UpdatePanel>
Поэтому, когда я нажимаю кнопку выбора, ему нужно изменить выбор и обновить панель обновления.Итак:
public bool dane(int numerdysku)
{
string connectionString = "data source=localhost ;initial catalog=archiwizacjatvs;user id=root;password=wsti";
MySqlConnection conn = new MySqlConnection(connectionString);
try
{
conn.Open();
MySqlDataAdapter dadapter = new MySqlDataAdapter("select nazwa_dysku,folder,nazwa_pliku,czas_trwania,rozmiar,data_utworzenia,data_modyfikacji,sciezka from archiwum where nazwa_dysku='" + DropDownList2.SelectedValue.ToString() + "'", conn);
DataTable tablica = new DataTable();
dadapter.Fill(tablica);
DataTableReader datatablereader = tablica.CreateDataReader();
//DataRow row;
if (tablica.Rows.Count > 0)
{
/*for (int i = 0; i <= tablica.Rows.Count-1; i++)
{
row = tablica.Rows[i];
TextBox2.Text = row[1].ToString() + " : " + row[2].ToString() + " : " + row[3].ToString() + " : " + row[4].ToString() + " : " + row[5].ToString();
}*/
GridView1.DataSource = tablica;
GridView1.DataBind();
conn.Close();
}
else
{
TextBox2.Text = "Tablica jest pusta!";
}
conn.Close();
}
catch (Exception ex)
{
TextBox2.Text = ex.ToString();
}
return true;
}
protected void Page_Load(object sender, EventArgs e)
{
string connectionString = "data source=localhost ;initial catalog=archiwizacjatvs;user id=user;password=password";
MySqlConnection conn = new MySqlConnection(connectionString);
try
{
conn.Open();
MySqlDataAdapter dadapter = new MySqlDataAdapter("select * from archiwum order by nazwa_dysku DESC", conn);
DataTable tablica = new DataTable();
dadapter.Fill(tablica);
DataTableReader datatablereader = tablica.CreateDataReader();
DataRow row = tablica.Rows[0];
for (int i = 1; i <= Convert.ToInt64(row[1]); i++)
{
DropDownList2.Items.Add(i.ToString());
}
conn.Close();
}
catch (Exception ex)
{
TextBox2.Text = ex.ToString();
}
}
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
dane(DropDownList2.SelectedIndex);
}
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
GridView1.SelectedIndex = e.NewSelectedIndex;
TextBox2.Text = GridView1.SelectedIndex.ToString();
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
dane(DropDownList2.SelectedIndex);
}
Он работает с первым выбором или никогда ... Если я нажму несколько раз F5, он снова работает.Что я должен изменить?