Настройка 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 дней недели, мы хотим использовать переменные вместо размещения множества ярлыков на веб-странице.

0 ответов

Другие вопросы по тегам