指定された許容幅を下回るまで、ラベルから単語を削除しようとしています。しかし、リピーター アイテムをループしている間は、Width = 0 で、Text プロパティは常に空です。
コードを OnItemDataBound に移動しようとしました
private void loadData()
{
Activities activities = new Activities();
var acts = activities.getNextActivities(3);
if (acts.Count > 0)
{
rptActivities.DataSource = acts;
rptActivities.DataBind();
foreach (RepeaterItem item in rptActivities.Items)
{
Label lblActName = (Label)item.FindControl("lblActName");
Unit width = lblActName.Width;
while (width.Value > 310)
{
int pos = lblActName.Text.LastIndexOf(" ") < 0 ? 0 : lblActName.Text.LastIndexOf(" ");
lblActName.Text = lblActName.Text.Substring(0, pos);
width = lblActName.Width;
}
}
}
else
{
pnlItems.Visible = false;
pnlNoItems.Visible = true;
}
}