Asp.net FormView未使用控件事件更新
是时候回答我的每日ASP.NET问题了 我的一个页面显示了客户表中的所有客户信息。我希望用户选择是查看所有客户记录,还是从列表中选择特定记录。因此,我的网页有两个单选按钮(显示所有客户、显示特定客户)、一个列表框(充满客户名称)和一个formview控件。我遇到的问题是,当我通过单选按钮或列表框选择更改模式时,要更新formview(请参见下面的代码) 有谁能给我一些关于如何做我想做的事情的建议吗Asp.net FormView未使用控件事件更新,asp.net,Asp.net,是时候回答我的每日ASP.NET问题了 我的一个页面显示了客户表中的所有客户信息。我希望用户选择是查看所有客户记录,还是从列表中选择特定记录。因此,我的网页有两个单选按钮(显示所有客户、显示特定客户)、一个列表框(充满客户名称)和一个formview控件。我遇到的问题是,当我通过单选按钮或列表框选择更改模式时,要更新formview(请参见下面的代码) 有谁能给我一些关于如何做我想做的事情的建议吗 protected void Page_Load(object sender, EventArgs
protected void Page_Load(object sender, EventArgs e)
{
UpdatePage ();
}
protected void RadioButtonShowAll_CheckedChanged(object sender, EventArgs e)
{
}
protected void RadioButtonShowSelected_CheckedChanged(object sender, EventArgs e)
{
}
protected void DropDownListCustomers_SelectedIndexChanged(object sender, EventArgs e)
{
RadioButtonShowSelected.Checked = true;
UpdatePage ();
}
protected void UpdatePage ()
{
if (RadioButtonShowAll.Checked)
SqlDataSource1.SelectCommand = "SELECT * FROM [Customer] ORDER BY [Company]";
else
SqlDataSource1.SelectCommand = "SELECT * FROM [Customer] WHERE ([CustomerID] = @CustomerID) ORDER BY [Company]";
FormView1.DataBind();
}
您的页面必须在客户端更新,才能显示新数据。您需要使用Javascript或AJAX,并使用一些变量来跟踪刷新页面的需要,这样您就可以在Formview需要更新时向服务器发送更新页面的请求。首先,您只需要连接SelectedIndexChanged事件。。。在这种情况下,当您更改下拉框时,首先触发Page_Load(),调用UpdatePage()。然后,事件激发,再次调用UpdatePage()。第二次可能不会达到你的预期 修复方法是仅在第一次加载页面时从Page_Load()调用UpdatePage(),而不是从回发调用:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
UpdatePage();
}