设置asp控件的属性并使用更改

时间:2015-10-21 12:45:28

标签: c# asp.net

我有一个复杂的问题,但我会尝试以简单的方式解释它。 我有一个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
    }

请帮帮我。我希望你对这个问题有一个清晰的认识。

2 个答案:

答案 0 :(得分:0)

您应该只需要重新绑定列表视图,而不是重定向(并且由于控件状态未在响应重定向上传输而丢失更改),您只需要重新绑定列表视图。

ListViewTemp.DataBind();

单击按钮会导致回发到服务器,因此如果这是您尝试为视图更新的页面上的唯一元素,则不需要完全重定向。 / p>

答案 1 :(得分:0)

我明白了。不需要Response.Redirect("ContentPage.aspx");点击LinkButton本身会刷新页面并进行更改。它已经解决了。在发布这个问题之前我应该​​想到这一点。不管怎样,谢谢!