我有一个复杂的问题,但我会尝试以简单的方式解释它。
我有一个LinkButton
的母版页。点击该按钮后,它会更改内容页面中DataSourceID
的{{1}}属性。问题是在更改属性值后,我使用ListView
加载页面,但这不会加载包含我在属性中所做更改的页面。
MasterPage.aspx部分代码
Response.Redirect("contentpage.aspx");
MasterPage.aspx.cs部分代码
<asp:LinkButton
ID="Link_ClothesMen"
runat="server"
OnClick="Link_ClothesMen_Click">Men</asp:LinkButton>
ContentPage.aspx部分代码
protected void Link_ClothesMen_Click (object sender,EventArgs e)
{
ListView ListViewTemp = (ListView)ContentPlaceHolder1.FindControl("ListView1");
ListViewTemp.DataSourceID = "SqlDataSourceClothesMen";
Response.Redirect("ContentPage.aspx"); //This is wrong. Help here
}
请帮帮我。我希望你对这个问题有一个清晰的认识。
答案 0 :(得分:0)
您应该只需要重新绑定列表视图,而不是重定向(并且由于控件状态未在响应重定向上传输而丢失更改),您只需要重新绑定列表视图。
ListViewTemp.DataBind();
单击按钮会导致回发到服务器,因此如果这是您尝试为视图更新的页面上的唯一元素,则不需要完全重定向。 / p>
答案 1 :(得分:0)
我明白了。不需要Response.Redirect("ContentPage.aspx");
点击LinkButton
本身会刷新页面并进行更改。它已经解决了。在发布这个问题之前我应该想到这一点。不管怎样,谢谢!