ASP.Net asp:ControlParameter ControlID は、ASP:label の代わりにパブリック共有変数にすることはできますか?
DataSource のパラメーターとして asp:label を使用していましたが、ラベルの代わりにパブリック共有変数を使用したいと考えています。
これは、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
しかし、「宣言されていません」というエラーが発生しました。
* 完全なマークアップとコード ビハインド コーディング *