如何根据Visual Studio

时间:2015-08-03 07:32:19

标签: c# asp.net

我想在检索列表视图值后更改页面加载时的按钮文本。

例如,

<asp:Label ID="favouriteLabel" runat="server" Text='<%# Eval("favourite") %>' />

如果此标签值为1,则该按钮将更改为Favourited。

我通过绑定listview

检索了列表视图值
protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
    {
        if (e.Item.ItemType == ListViewItemType.DataItem)
        {
            Label activity = (Label)e.Item.FindControl("favouriteLabel");
            activityID =  activity.Text;               
        }
    }

然后,我获得了activityID并在页面加载上执行了一个简单的if-else检查

protected void Page_Load(object sender, EventArgs e)
    {         
        if (activityID == "1")
        {
            Button4.Text = "Favourited";
        }
        else
        {
            Button4.Text = "Favourite";
        }

    }

然而它不起作用。任何人

2 个答案:

答案 0 :(得分:0)

在load事件中检查加载事件,例如:

""

详细了解回发here

答案 1 :(得分:0)

Page_Load发生在ItemDataBound事件之前,因此您在Page_Load中查看的activityId永远不会是1。

只需将您在Page_Load中的代码放入ItemDataBoundEvent

即可