私はasp.netプロジェクトを持っており、オブジェクトを呼び出すことができます。 すべてのオブジェクトがリピータに作成されます。ここではポストバック時にチェックボックスがチェックされていませんASP NET
<section class="topbar">
<asp:Button runat="server" ID="btnSave" OnClick="btnSave_OnClick" Text="Save" />
</section>
<asp:Repeater runat="server" id="gwList">
<ItemTemplate>
<div class="block">
<input type="checkbox" runat="server" ID="chkObjectSelected" value='<%# ((Object.Object)Container.DataItem).Id %>'/>
<label><%# ((Object.object)Container.DataItem).Title %></label>
</div>
</ItemTemplate>
</asp:Repeater>
は問題が来るポストバックで選択され、選択したオブジェクトのどれも設定されません。この
<asp:CheckBox runat="server" ID="chkObjectSelected" Value='<%# ((Object.Object)Container.DataItem).Id %>'/>
で
<input type="checkbox" runat="server" ID="chkObjectSelected" value='<%# ((Object.Object)Container.DataItem).Id %>'/>
を交換
protected void btnSave_OnClick(object sender, EventArgs e)
{
List<string> objectIdSelected = new List<string>();
foreach (RepeaterItem oneObject in gwList.Items)
{
HtmlInputCheckBox chkObj = (HtmlInputCheckBox)carAd.FindControl("chkObjectSelected");
if (chkObj.Checked)
{
objectIdSelected.Add(chkObj.Value.ToString());
}
}
}
リピータに 'Page_Load'を設定していますか?もしそうなら、それが 'if(!IsPostBack)'の条件の中にあることを確認してください。 – ConnorsFan
@ConnorsFan - これが私の問題の解決策でした! – Thugge