Настройка ASP:ControlParameter для использования переменной для получения значений из
В файле с выделенным кодом ASP.Net VB.Net у нас есть эта переменная:
Public Shared blnTuesdayCheckBoxState As Boolean
Мы пытаемся использовать переменную для ASP:ConrolParameter, но, похоже, не все настроено правильно.
Можете ли вы показать мне, что мне нужно сделать, чтобы исправить это?
Это ASP:ControlParameter, используемый в разметке DataSource:
<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.
Исходная кодировка, которая работает, использовала фактические флажки для хранения значений, которые будут сохранены в базе данных, как показано в закомментированном коде, но мы хотим заменить их все на ImageButtons.
Также, если я использую ASP:Label для ASP:ControlParameter, то все работает нормально. Поскольку есть 7 дней недели, мы хотим использовать переменные вместо размещения множества ярлыков на веб-странице.