ASP.Net asp:ControlParameter ControlID 可以是公共共享变量而不是 ASP:label 吗?
我们使用 asp:label 作为 DataSource 的参数,但现在想使用公共共享变量而不是标签。
这是使用 asp:label 的参数标记。
<asp:ControlParameter
ControlID="LabelCheckBoxMonday"
Name="DayOfWeekMonday"
PropertyName="Text"
Type="String" />
我们在代码隐藏中添加了这个公共共享变量。
Public Shared blnDayOfWeekMonday As Boolean
我们将参数的标记更改为此。
<asp:ControlParameter
ControlID="blnDayOfWeekMonday"
Name="DayOfWeekMonday"
PropertyName="Text"
Type="String" />
这是将值放入变量的编码。用于为标签执行此操作的原始编码已被注释掉。
Protected Sub ImageButtonInsertDayOfWeekMonday_Click(sender As Object, e As ImageClickEventArgs)
Dim imgTheImageButton As New ImageButton
imgTheImageButton = DetailsView.FindControl("ImageButtonInsertDayOfWeekMonday")
If imgTheImageButton.ImageUrl = "../../Images/checked.png" = True Then
imgTheImageButton.ImageUrl = "../../Images/unchecked.png"
' LabelCheckBoxMonday.Text = False
blnDayOfWeekMonday = False
Else
imgTheImageButton.ImageUrl = "../../Images/checked.png"
' LabelCheckBoxMonday.Text = True
blnDayOfWeekMonday = True
End If
End Sub
所有这些都是以下 InsertCommand 的一部分:
InsertCommand=
"INSERT INTO [TeacherSchedule]
([DayOfWeekMonday],
[DayOfWeekTuesday],
[DayOfWeekWednesday],
[DayOfWeekThursday],
[DayOfWeekFriday],
[DayOfWeekSaturday],
[DayOfWeekSunday],
[StartTime],
[EndTime],
[ClassID],
[TeacherID])
VALUES (@DayOfWeekMonday,
@DayOfWeekTuesday,
@DayOfWeekWednesday,
@DayOfWeekThursday,
@DayOfWeekFriday,
@DayOfWeekSaturday,
@DayOfWeekSunday,
@StartTime,
@EndTime,
@ClassID,
@TeacherID)"
当 Web 表单运行时,将其更改为公共共享变量后没有任何反应。
你能告诉我我还需要做什么才能继续吗?
* 更新 *
使用 Marks 的建议,我发现了如何做一个 asp:QueryStringParameter 但仍然不知道如何用一个值填充它。这是作为 asp 的参数:QueryStringParameter
<asp:QueryStringParameter
Name="DayOfWeekMonday"
QueryStringField="QSDayOfWeekMonday" />
如何在 ImageButtonInsertDayOfWeekMonday_Click 子例程中填充 QSDayOfWeekMonday?
我试过了:
QSDayOfWeekMonday = False
但出现“未声明”错误。
*完整的标记和代码隐藏编码*