如何在Visual Studio上根据listview值更改页面加载时的按钮文本
本文关键字:加载 文本 按钮 Visual Studio listview | 更新日期: 2023-09-27 18:06:14
我想在检索列表视图值后更改页面加载时的按钮文本。
例如
<asp:Label ID="favouriteLabel" runat="server" Text='<%# Eval("favourite") %>' />
如果该标签值为1,按钮将变为favorites。
我已经通过绑定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";
}
}
但是它不起作用。有人知道吗?
在load事件中进行PostBack检查,例如:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (activityID == "1")
{
Button4.Text = "Favourited";
}
else
{
Button4.Text = "Favourite";
}
}
}
在这里阅读更多关于回帖的信息
Page_Load发生在你的ItemDataBound事件之前,所以你在Page_Load中看到的activityId永远不会是1。
将Page_Load中的代码放入ItemDataBoundEvent