在 ASP.Net VB.Net 代码隐藏文件中,我们有这个变量:
Public Shared blnTuesdayCheckBoxState As Boolean
我们正在尝试将变量用于 ASP:ConrolParameter 但似乎没有正确设置所有内容。
你能告诉我我需要做什么来纠正它吗?
这是在 DataSource 标记中使用的 ASP:ControlParameter:
<UpdateParameters>
<asp:Parameter Name="DayOfWeekMonday" Type="String" />
<asp:ControlParameter
ControlID="blnTuesdayCheckBoxState"
Name="DayOfWeekTuesday"
PropertyName="Text"
Type="String" />
<asp:Parameter Name="DayOfWeekWednesday" Type="String" />
<asp:Parameter Name="DayOfWeekThursday" Type="String" />
<asp:Parameter Name="DayOfWeekFriday" Type="String" />
<asp:Parameter Name="DayOfWeekSaturday" Type="String" />
<asp:Parameter Name="DayOfWeekSunday" Type="String" />
<asp:Parameter Name="StartTime" Type="String" />
<asp:Parameter Name="EndTime" Type="String" />
<asp:Parameter Name="ClassID" Type="Int32" />
<asp:Parameter Name="TeacherID" Type="Int32" />
<asp:Parameter Name="ID" />
</UpdateParameters>
如果我们可以让 DayOfWeekTuesday 工作,我们将在一周的其他日子里做同样的事情。
在 DetailsView 中是这个 ImageButton:
<asp:TemplateField HeaderText="Tuesday:">
<EditItemTemplate>
<asp:ImageButton
ID="ImageButtonEditDayOfWeekTuesday"
runat="server"
ImageUrl='<%# getChecked(Eval("DayOfWeekTuesday"))%>'
Height="15"
Width="15"
OnClick="ImageButtonDayOfWeekTuesdayEdit_Click"
CausesValidation="False">
</asp:ImageButton>
</EditItemTemplate>
</asp:TemplateField>
当用户单击 ImageButton 时,此代码将执行以填充变量:
Protected Sub ImageButtonDayOfWeekTuesdayEdit_Click(sender As Object, e As ImageClickEventArgs)
' Dim chkTheCheckBox As New CheckBox
Dim imgTheImageButton As New ImageButton
' chkTheCheckBox = DetailsView.FindControl("CheckBoxEditDayOfWeekTuesday")
imgTheImageButton = DetailsView.FindControl("ImageButtonEditDayOfWeekTuesday")
If blnTuesdayCheckBoxState = True Then
imgTheImageButton.ImageUrl = "../../Images/unchecked.png"
' chkTheCheckBox.Checked = False
blnTuesdayCheckBoxState = False
Else
imgTheImageButton.ImageUrl = "../../Images/checked.png"
' chkTheCheckBox.Checked = True
blnTuesdayCheckBoxState = True
End If
End Sub
上面的代码模拟了 CheckBox 的勾选,只是它是一个正在使用的图像而不是一个实际的 CheckBox。
如注释掉的代码所示,用于使用实际 CheckBoxes 存储要保存到数据库的值的原始编码,但我们希望将它们全部替换为 ImageButtons。
此外,如果我为 ASP:ControlParameter 使用 ASP:Label,那么一切正常。由于一周中有 7 天,我们希望使用变量而不是在网页上放置许多标签。