私はその中にドロップダウンリストを持つリピーターを持っています。リピータの外に別のドロップダウンリストがあります。ユーザーはこのddlの値を選択し、ボタンをクリックすると、選択された値は、空白のリピーター内のすべてのddlに取り込まれます。注意:ddlはselectedvalue(intではない)のテキストを持っています。リピーター内のドロップダウンリストの値を設定しました
残念ながら私のコードは機能しません。
私のマークアップ:ボタンの
<asp:Repeater ID="AttendanceRepeater" runat="server" DataSourceID="AttendanceSqlDataSource" OnItemDataBound="AttendanceRepeater_ItemDataBound">
<ItemTemplate>
<br />
<table>
<tr>
<td style="width: 50px"></td>
<td style="width: 300px">
<asp:Label ID="StudentNameLabel" runat="server" Text='<%# Eval("STUDENT_NAME") %>'></asp:Label>
</td>
<td style="width: 200px">
<asp:DropDownList ID="AttendStatusDropDownList" runat="server"
SelectedValue='<%# Eval("ATTENDANCE_STATUS") %>'>
<asp:ListItem Value="" Text=""></asp:ListItem>
<asp:ListItem Value="ABSENTE" Text="Absent Excused"></asp:ListItem>
<asp:ListItem Value="ABSENTU" Text="Absent Unexcused"></asp:ListItem>
<asp:ListItem Value="CIN" Text="Chk In No (Absent)"></asp:ListItem>
<asp:ListItem Value="CIY" Text="Chk In Yes (Present)"></asp:ListItem>
<asp:ListItem Value="NR" Text="Attend Not Reqd"></asp:ListItem>
<asp:ListItem Value="PRESENT" Text="Present"></asp:ListItem>
<asp:ListItem Value="TM005" Text="Time Missed 005 Min"></asp:ListItem>
<asp:ListItem Value="TM010" Text="Time Missed 010 Min"></asp:ListItem>
<asp:ListItem Value="TM015" Text="Time Missed 015 Min"></asp:ListItem>
<asp:ListItem Value="TM030" Text="Time Missed 030 Min"></asp:ListItem>
<asp:ListItem Value="TM045" Text="Time Missed 045 Min"></asp:ListItem>
<asp:ListItem Value="TM060" Text="Time Missed 1hr"></asp:ListItem>
<asp:ListItem Value="TM075" Text="Time Missed 1hr 15mi"></asp:ListItem>
<asp:ListItem Value="TM090" Text="Time Missed 1hr 30mi"></asp:ListItem>
<asp:ListItem Value="TM105" Text="Time Missed 1hr 45mi"></asp:ListItem>
<asp:ListItem Value="TM120" Text="Time Missed 2hr"></asp:ListItem>
<asp:ListItem Value="TM135" Text="Time Missed 2hr 15mi"></asp:ListItem>
<asp:ListItem Value="TM150" Text="Time Missed 2hr 30mi"></asp:ListItem>
<asp:ListItem Value="TM165" Text="Time Missed 2hr 45mi"></asp:ListItem>
<asp:ListItem Value="TM180" Text="Time Missed 3hr"></asp:ListItem>
<asp:ListItem Value="TM195" Text="Time Missed 3hr 15mi"></asp:ListItem>
<asp:ListItem Value="TM210" Text="Time Missed 3hr 30mi"></asp:ListItem>
<asp:ListItem Value="TM225" Text="Time Missed 3hr 45mi"></asp:ListItem>
<asp:ListItem Value="TM240" Text="Time Missed 4hr"></asp:ListItem>
<asp:ListItem Value="TM255" Text="Time Missed 4hr 15mi"></asp:ListItem>
<asp:ListItem Value="TM310" Text="Time Missed 4hr 30mi"></asp:ListItem>
<asp:ListItem Value="TM325" Text="Time Missed 4hr 45mi"></asp:ListItem>
<asp:ListItem Value="WD" Text="Withdrawn"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="AttendStatusValidator" runat="server"
ErrorMessage="Required field" ControlToValidate="AttendStatusDropDownList">
</asp:RequiredFieldValidator>
</td>
<td style="width: 200px">
<asp:TextBox ID="CommentsTextBox" runat="server" TextMode="MultiLine"
Text='<%# Eval("COMMENTS") %>'></asp:TextBox>
</td>
<td>
<%-- <asp:CheckBox ID="ChangeCheckBox" runat="server" Visible="true" />--%>
<asp:Label ID="PeopleCodeIdLabel" runat="server" Visible="false" Text='<%# Eval("PEOPLE_CODE_ID") %>'></asp:Label>
<asp:Label ID="AcademicYearLabel" runat="server" Visible="false" Text='<%# Eval("ACADEMIC_YEAR") %>'></asp:Label>
<asp:Label ID="AcademicTermLabel" runat="server" Visible="false" Text='<%# Eval("ACADEMIC_TERM") %>'></asp:Label>
<asp:Label ID="AcademicSessionLabel" runat="server" Visible="false" Text='<%# Eval("ACADEMIC_SESSION") %>'></asp:Label>
<asp:Label ID="EventIdLabel" runat="server" Visible="false" Text='<%# Eval("EVENT_ID") %>'></asp:Label>
<asp:Label ID="EventSubTypeLabel" runat="server" Visible="false" Text='<%# Eval("EVENT_SUB_TYPE") %>'></asp:Label>
<asp:Label ID="SectionLabel" runat="server" Visible="false" Text='<%# Eval("SECTION") %>'></asp:Label>
<asp:Label ID="TranAttendanceIdLabel" runat="server" Visible="false" Text='<%# Eval("TranAttendanceId") %>'></asp:Label>
</td>
</tr>
</table>
<br />
</ItemTemplate>
</asp:Repeater>
コード:(ドロップダウンAttendanceStatusdropdownlistとAttendStatusAllDropDownListの命名に注意してください。)
protected void ApplyToAllButton_Click(object sender, EventArgs e)
{
string defaultStatus = AttendStatusAllDropDownList.SelectedValue;
foreach (RepeaterItem item in AttendanceRepeater.Items)
{
DropDownList ddl = (DropDownList)item.FindControl("AttendanceStatusDropDownList");
if (string.IsNullOrWhiteSpace(ddl.SelectedValue))
{
//set the ddl to the value selected from the other ddl
ddl.SelectedValue = defaultStatus;
}
}
//Save changes to all
SaveButton_Click(null, null);
}
値ではありませんリピータ内のドロップダウンに入力します。私はGoogleを検索したが、私が試みていることに特有のものは何も見つけることができない。どんな助けでも大歓迎です。
ありがとうございます。 Pete
私はお奨めささいなことを確認するために覚えてきました!ありがとう、しかし、私はそれを変更した後、それはまだ動作していません。注目すべきことは、私は割り当てを行う前にattendestatusdropdownlist.selectedvalueがnullであることを確認する必要があります。だから私は少しコードを変更しました。 –
テストスニペットを追加しました。 'AttendStatusAllDropDownList'を変更してボタンを押すと、リピーター内のすべての値が更新され、選択肢はありません。あなたのスニペットがうまくいかない場合は、別のページでスニペットを試してみて、問題がどこにあるのかを確認できるようにしてください。 – VDWWD
問題が見つかりました。私は、リピータ内のドロップダウンに必要なフィールドバリデーターを持っています。私はそれを削除しようとし、ddlの(現在は)それが機能します。しかし、このフィールドは必須です。私は、カスタムバリデーターを使ってみて、まだ動作しているかどうかを調べると思います。 –