我有一个linqdatasource女巫执行ListView1列表。当用户从下拉列表中选择医生姓名时,列表视图会更改。我附加了一个OnSelectedIndexChanged =“ListView1_SelectedIndexChanged”事件。 listview1的列是apointmentId,doctorName,dateApointment,clientName和一个复选框。
我想更新由复选框选中的行(基本上用户选择了他的apointment的日期)。
<asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="ApointmentDataContext"
EnableDelete="True" EnableInsert="True" EnableUpdate="True" EntityTypeName=""
TableName="Apointment" AutoGenerateWhereClause="True">
<WhereParameters>
<asp:ControlParameter
Name="doctorName"
ControlID="DropDownList1"
PropertyName="SelectedValue"
Type="String" />
</WhereParameters>
</asp:LinqDataSource>
<div class="center">
<asp:Label ID="lblDoctorName" runat="server" Text="Choose a doctor name"> </asp:Label>
<div class="value-right">
<asp:DropDownList ID="DropDownList1" runat="server" Width="180px" AutoPostBack="true" >
<asp:ListItem Text="Doctor A" Value="Doctor A" />
<asp:ListItem Text="Doctor B" Value="Doctor B" />
<asp:ListItem Text="Doctor C" Value="Doctor C" />
</asp:DropDownList>
</div>
</div> <br/><br/>
<asp:ListView ID="ListView1" runat="server" DataKeyNames="apointmentId"
DataSourceID="LinqDataSource1" InsertItemPosition="LastItem"
OnSelectedIndexChanged="ListView1_SelectedIndexChanged" >
<AlternatingItemTemplate>
<tr style="">
<td>
<asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
</td>
<!--<td>
<asp:Label ID="ApointmentIdLabel" runat="server" Text='<%#
Eval("ApointmentId") %>' />
</td> -->
<td>
<asp:Label ID="doctorName" runat="server" Text='<%# Eval("doctorName") %>' />
</td>
<td>
<asp:Label ID="dateLabel" runat="server" Text='<%# Eval("dateApointment", "{0:dd-MM-
yyyy}") %>' />
</td>
<td>
<asp:Label ID="ClientLabel" runat="server" Text='<%# Eval("clientName") %>' />
</td>
<input id="MyCheckBox" value='<%# Eval("apointmentId") %>'
type="checkbox" runat="server" />
以下代码将列出所选医生的所有可用日期。目标是用户将选择可用日期(通过选中复选框)。现在我希望能够在apointement表中更新这一行。我错过了能够使用ListView1属性的代码。
protected void ListView1_SelectedIndexChanged(object sender, EventArgs e)
{
using (ApointmentDataContext db = new ApointmentDataContext())
{
Listview1.
}
}
当我把ListView1放在这里时,我收到了错误消息当前上下文中不存在名称ListView1。
我希望能够检索guid或ApointmentId以便能够更新所选行。
我通过这样做选中了复选框。也许我们可以在这里做点什么?
protected void btnSubmit_Click(object sender, EventArgs e)
{
int iCptCheckBox = 0;
int indxChkBox = 0;
foreach (ListViewDataItem item in ListView1.Items)
{
var chk = item.FindControl("MyCheckBox") as System.Web.UI.HtmlControls.HtmlInputCheckBox;
if (chk != null && chk.Checked)
{
indxChkBox = Convert.ToInt32(chk.Value);
iCptCheckBox++;
}
}
}
感谢您的帮助,指导我解决问题。
答案 0 :(得分:0)
我相信你有两个问题: