11. 実装するための裏ワザ FormViewでかんた検索 Using fvUserAs New FormViewfvUser.DataSource= SqlDataSource1SqlDataSource1.SelectParameters.Item("USER_ID").DefaultValue= txtUser.Text.ToUpperSqlDataSource1.SelectParameters.Item("AUTH_KEY").DefaultValue= txtPass.TextfvUser.DataBind() ' 検索の結果、該当するレコードが存在した場合認証 If fvUser.DataItemCount> 0 ThenElsemsg_Dialog(strIdPass_errMsg, , True) 'CONSTExit SubEnd IfSession("USER_ID") = fvUser.DataItem("USER_ID") Session(“USER_NAME”) = fvUser.DataItem(“USER_NAME“) End Using
12. 実装するための裏ワザ MasterPageにViewStateで値保存 Public Property USER_ID() As StringGetReturn CType(ViewState("USER_ID"), String) End GetSet(ByValValue As String) ViewState("USER_ID") = ValueEnd SetEnd PropertyPublic Property USER_NAME() As StringGetReturn CType(ViewState("USER_NAME"), String) End GetSet(ByValValue As String) ViewState("USER_NAME") = ValueEnd SetEnd Property ユーザコントロルの場合のViewState追加 'ViewStateをカスタマイズしてユーザコントロル値を追加 Protected Overrides Sub LoadViewState(ByValsavedStateAs Object) If Not (savedStateIs Nothing) ThenDim myStateAs Object() = CType(savedState, Object()) If Not (myState(0) Is Nothing) ThenMyBase.LoadViewState(myState(0)) End If'こから追加 If Not (myState(1) Is Nothing) Then USER_ID = myState(1) If Not (myState(2) Is Nothing) Then USER_NAME = myState(2) End IfEnd SubProtected Overrides Function SaveViewState() As ObjectDim baseStateAs Object = MyBase.SaveViewState() Dim allStates(64) As ObjectallStates(0) = baseState'こから追加 allStates(1) = USER_IDallStates(2) = USER_NAMEReturn allStatesEnd Function