次のように、asp.net ページのコード ビハインドに if ステートメントがあります。
If Session("UserActiv") IsNot Nothing Then
If Session("UserActiv").ToString() = "N" Then
ClientScript.RegisterStartupScript(Me.GetType(),
"Details", "LoadDetails();", True)
End If
Else
ClientScript.RegisterStartupScript(Me.GetType(),
"Details", "LoadDetails();", True)
End If
私のセッションが何もない場合、およびその N の場合は関数 LoadDetails() を実行します。何もない場合は関数もロードし、Y の場合は何もしません。
次に、メインページに関数があります。唯一の問題は、ページをロードするたびに関数がロードされることです。また、セッションが Y の場合、上位 Y/N と下位 y/n の問題とすべてを確認しましたは大文字です。問題ありません。
私の loadDetails() 関数は次のようなものです:
<script language="javascript" type="text/javascript">
function LoadDetails() {
myModal.load();
}
$(document).ready(function () {
$("#myModal").modal({
"backdrop": "static",
// if true, then the backdrop can be closed with a click
// if false then there is no backdrop.
"keyboard": false
})
});
</script>
これを今のように page_load でロードしたいのですが、セッションが何もないか、N の場合のみです。これについてどうすればよいですか?
編集................................編集...................編集................ .EDIT..................EDIT..................EDIT........ ..編集................................ @RYAN
このようにすると、セッションがNのときに何も起こりません
Imports System.Web.Security
Imports System.IO
Imports System.Data
Imports System.Data.OleDb
Partial Class _default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Session("UserActiv") IsNot Nothing Then
If Session("UserActiv").ToString() = "N" Then
runJQueryCode("$('#myModal').modal('show');")
End If
Else
runJQueryCode("$('#myModal').modal('show');")
End If
If (Not Page.IsPostBack) Then
Dim htmlString As New StringBuilder()
' Has the request been authenticated?
If Request.IsAuthenticated Then
' Display generic identity information.
' This is always available, regardless of the type of
' authentication.
htmlString.Append("<h3>Generic User Information</h3>")
htmlString.Append("<b>name: </b>")
htmlString.Append(User.Identity.Name)
htmlString.Append("<br><b>Authenticated With: </b>")
htmlString.Append(User.Identity.AuthenticationType)
htmlString.Append("<br><b>User ID: </b>")
htmlString.Append(Session("UserID"))
htmlString.Append("<br><br>")
htmlString.Append(Session("UserActiv"))
End If
' Was forms authentication used?
If TypeOf User.Identity Is FormsIdentity Then
' Get the ticket.
Dim ticket As FormsAuthenticationTicket = (DirectCast(User.Identity, FormsIdentity)).Ticket
htmlString.Append("<h3>Ticket User Information</h3>")
htmlString.Append("<b>Name: </b>")
htmlString.Append(ticket.Name)
htmlString.Append("<br><b>Issued at: </b>")
htmlString.Append(ticket.IssueDate)
htmlString.Append("<br><b>Expires at: </b>")
htmlString.Append(ticket.Expiration)
htmlString.Append("<br><b>Cookie version: </b>")
htmlString.Append(ticket.Version)
htmlString.Append("<br><b>Cookie CookiePath: </b>")
htmlString.Append(ticket.CookiePath)
htmlString.Append("<br><b>Cookie Expired: </b>")
htmlString.Append(ticket.Expired)
htmlString.Append("<br><b>Cookie isPersistent: </b>")
htmlString.Append(ticket.IsPersistent)
htmlString.Append("<br><b>User Data: </b>")
htmlString.Append(ticket.UserData)
' Display the information.
LegendInfo.Text = htmlString.ToString()
End If
If User.IsInRole("Manager") Then
' Display sensitive material
Session("userrole") = "Site Manager"
ElseIf User.IsInRole("Admin") Then
' Display sensitive material
Session("userrole") = "Site Admin"
ElseIf User.IsInRole("User") Then
' Display sensitive material
Session("userrole") = "Alm. Bruger"
Else
' Display only bland material
End If
End If
End Sub
Public Function runJQueryCode(ByVal message As String) As Boolean
Dim requestSM As ScriptManager = ScriptManager.GetCurrent(Page)
If requestSM IsNot Nothing AndAlso requestSM.IsInAsyncPostBack Then
ScriptManager.RegisterClientScriptBlock(Page, GetType(Page), Guid.NewGuid().ToString(), getjQueryCode(message), True)
Else
Page.ClientScript.RegisterClientScriptBlock(GetType(Page), Guid.NewGuid().ToString(), getjQueryCode(message), True)
End If
Return True
End Function
Private Function getjQueryCode(ByVal jsCodetoRun As String) As String
Dim sb As New StringBuilder()
sb.AppendLine("$(document).ready(function() {")
sb.AppendLine(jsCodetoRun)
sb.AppendLine(" });")
Return sb.ToString()
End Function
'Private Sub cmdSignOut_ServerClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdSignOut.ServerClick
'FormsAuthentication.SignOut()
'FormsAuthentication.RedirectToLoginPage()
'End Sub
End Class