あなたはcontフォームのプロパティを設定する前にフォームに移動してください。例えば
:
foreach (var car in cars){
Label lbl = new Label();
form1.Controls.Add(lbl); // Create and immediately assign
lbl.Text = car.name; // now you can set some properties
Image myImage = new Image();
form1.Controls.Add(myImage); // Ditto
myImage.ImageUrl = car.imageURL;
}
UPDATE:
私はただそれだけのボタンを持っていたページを持つブランドの新しいWebアプリケーションプロジェクトを作成しました。それは期待どおりに働いた。他に何か起こっていることをお勧めします。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
</div>
</form>
</body>
</html>
と背後にあるコード:下記を参照してください
namespace WebApplication1 {
public partial class _Default : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
}
protected void Button1_Click(object sender, EventArgs e) {
for (Int32 i = 0; i < 10; i++) {
Label lbl = new Label();
form1.Controls.Add(lbl);
lbl.Text = "HAHAHAHAH";
}
}
}
}
ページのライフサイクルのどの時点で、そのコードを実行していますか? –
ポストバックイベント処理段階。 – menacheb