コードビハインドの代わりにページにドロップダウンアイテムを追加することは可能でしょうか?コードビハインドの代わりにページにループしてドロップダウンアイテムを追加しますか?
は、だから私は、私は1900年〜現在の年表示するドロップダウンボックスを持っていると言う
<asp:DropDownList ID="ddlYear" runat="server" CssClass="text">
<%
int currentYear = DateTime.Now.Year;
for (int i = 1900; i < currentYear; i++)
{
%>
<asp:ListItem><%=i %></asp:ListItem>
<%
}
%>
</asp:DropDownList>
それはそのような何かを行うことは可能ですか?
私はそれが私を与える上のように実行しようとするときので:編集
Warning 1 C:\SandBox\MyWebApplication1\MyWebApplication1\Default.aspx: ASP.NET runtime error: Code blocks are not supported in this context. C:\SandBox\MyWebApplication1\MyWebApplication1\Default.aspx 35 1 MyWebApplication1
:私も試してみました:
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
<%
int currentYear = DateTime.Now.Year;
if (currentYear <= 1933)
{
currentYear = 2012;
}
for (int i = 1933; i < currentYear; i++)
{
DropDownList1.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
%>
しかしとき表示DropDownListコントロールがアイテムを持っていません...
===== 編集:Splash-Xが提案したように、レンダリングされましたが、ポストバック後にすべてのアイテムが消えました....
<form id="form1" runat="server">
<div>
<%
int currentYear = DateTime.Now.Year;
if (!Page.IsPostBack)
{
if (currentYear <= 1933)
{
currentYear = 2012;
}
DropDownList1.Items.Clear();
for (int i = 1933; i < currentYear; i++)
{
DropDownList1.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
}
%>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
<input id="Button1" type="button" value="button" onclick="MyFunction();"/>
<div id="MyDiv">
</div>
<asp:Button ID="Button2" runat="server" Text="Button" />
</div>
</form>
ASP.NETにはこの目的のためのリピータコントロールがありませんか? – mbeckish
私はちょうどリピータのコントロールをチェックアウトしましたが、それは少し過度のようですね?私はDropDownItemを追加する必要があります.... –