У меня вопрос по поводу повторителя c #.У меня есть настройка ширины по умолчанию, и она изменит базу при некоторых условиях в Page_Load, я хочу, чтобы изменение было передано моему изображению на OnItemDataBound.Тем не менее, кажется, что OnItemDataBound запускается до Page_Load, потому что я изменил ширину на 700 в Page_Load, но когда изображение загружено, оно всегда показывает 380 вместо этого.Если OnItemDataBound не является правильной функцией для использования, какую функцию я должен вызвать, чтобы я мог изменить ширину изображения после вызова Page_Load (где установлена настраиваемая ширина)?Я пробовал OnPreLoad, OnLoad, и ни один из них не работал.
protected int width = 380;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
width = 700;
}
}
protected void Test_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
RepeaterItem item = e.Item;
if ((item.ItemType == ListItemType.Item) || (item.ItemType == ListItemType.AlternatingItem))
{
Image Image = (Image)e.Item.FindControl("Image");
Image.ImageUrl = Utilities.generateImage();
Image.Width = width;
}
}