SQL 데이터베이스에서 채워지는 gridview가 있습니다. 결과가 표시되면 각 지구의 새 연락처 페이지에 지구 번호를 연결합니다. 전의. d1.aspx, d2.aspx, d3.aspx 등등. 각 페이지에는 원래 페이지로 돌아가는 링크가 있습니다. 이 경우 원본 페이지가 새로 고쳐지고 이전 gridview 결과가 사라집니다. 이것이 일어나는 것을 막을 수 있습니까? 아니면 이와 같은 일을하는 더 좋은 방법이 있습니까? 페이지가 새로 고쳐지면 Gridview가 사라집니다.
<Columns>
<asp:BoundField HeaderText="Name" DataField="school" /><asp:BoundField />
<asp:TemplateField HeaderText="District" HeaderStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("district", "cdms/d{0}.aspx") %>' Text='<%# Eval("district") %>'>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<span style="color: rgb(255, 0, 0);">No records found!</span>
</EmptyDataTemplate>
</asp:GridView>
Codebehind가이 상황을 처리하는 다양한 방법이 많이 있습니다
protected void btnSubmit_Click(object sender, EventArgs e)
{
BuildGridView1();
GridView1.DataBind();
GridView1.Visible = true;
}
private void BuildGridView1()
{
GridView1.DataSource = new Select(District.Schema.TableName + ".*")
.From(District.Schema)
.Where(District.Columns.Zip).IsEqualTo(this.txtZip.Text)
.OrderAsc(District.Columns.Zip)
.ExecuteDataSet();
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
BuildGridView1();
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}
Page_Load 이벤트 코드를 추가하여 엉망이되지 않도록 할 수 있습니까? –
페이지로드 이벤트에 아무 것도 없습니다. – Brett
어떻게 데이터 소스를 GridView에 바인딩하고 있습니까? –