I am trying to assign values to the hiddenfields duting page_load..but its throwing System.NullReferenceException.. This is the code iam using in the page_load event..
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
Dim hLogInfo As HiddenField = DirectCast(FindControl("HLogInfo"), HiddenField)
Dim hUName As HiddenField = DirectCast(FindControl("HUName"), HiddenField)
If Not Page.User.Identity.IsAuthenticated Then
Response.Write("not logged in")
hLogInfo.Value = "No"
hUName.Value = "None"
Else
Dim currentUser As MembershipUser = Membership.GetUser()
hUName.Value = currentUser.UserName
Response.Write(currentUser.UserName)
hLogInfo.Value = "Yes"
End If
End Sub
Given below is the error details...
Server Error in '/colorshelf.com' Application.
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information about
the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to
an instance of an object.
Source Error:
Line 41: Else
Line 42: Dim currentUser As MembershipUser = Membership.GetUser()
Line 43: hUName.Value = currentUser.UserName
Line 44: Response.Write(currentUser.UserName)
Line 45: hLogInfo.Value = "Yes"
Source File: G:\Websites\colorshelf.com\html\*******.***.vb Line: 43
Stack Trace:
[NullReferenceException:Object reference not set to an instance of an object.]
****_****.Page_Load(Object sender, EventArgs e) in
G:\Websites\colorshelf.com\html\******.***.vb:43
System.Web.UI.Control.OnLoad(EventArgs e) +91
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Control.LoadRecursive() +146
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,
Boolean includeStagesAfterAsyncPoint) +2207
Version Information: Microsoft .NET Framework Version:4.0.30319;
ASP.NET Version:4.0.30319.1
Modifying the code like the one bewlow too throws the same error
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Load
If Not Page.User.Identity.IsAuthenticated Then
Response.Write("not logged in")
HLogInfo.Value = "No"
HUName.Value = "None"
Else
Dim currentUser As MembershipUser = Membership.GetUser()
HUName.Value = currentUser.UserName
Response.Write(currentUser.UserName)
HLogInfo.Value = "Yes"
End If
End Sub
Given below is the page source..
<%@ Master Language="VB" MasterPageFile="../**.master" AutoEventWireup="false" CodeFile="***.master.vb"
Inherits="***_****" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="Server">
<asp:ContentPlaceHolder ID="HeadContentSubMaster" runat="server">
<script type="text/javascript">
</script>
</asp:ContentPlaceHolder>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server">
<div style="width: 100%; float: left;">
<div style="width: 16%; float: left;" align="center">
<div style="color: #FFFFFF; font-weight: bold; font-size: 14px; width: 100%; padding-top: 37px;"
align="center">
Colorshelf list
<br />
<hr width="70%" />
</div>
<table border="0" style="border-collapse: separate; padding-top: 7px;">
</table>
</div>
</div>
<div style="width: 56%; float: left; margin-left: 20px;">
<asp:ContentPlaceHolder ID="BodyContent" runat="server">
</asp:ContentPlaceHolder>
</div>
<div style="width: 22%; float: right;">
<a href="http://www.lalsofttech.com/MRanking/Default.aspx" style="border-style: none">
<img src="../Images/MRA_Banner.png" style="border-style: none; width: 92%; padding-left: 30px;
padding-top: 50px;" /></a>
</div>
</div>
<div style="width: 100%; float: left;">
<div style="width: 80%; float: left;">
<asp:ContentPlaceHolder ID="ContentFooter" runat="server">
<asp:HiddenField ID="HLogInfo" runat="server" Value="" />
<asp:HiddenField ID="HUName" runat="server" Value="" />
</asp:ContentPlaceHolder>
</div>
</div>
<div class="clear">
<br />
<br />
</div>
Please guide me to solve this issue???
So simple but I made it worse .. See where I have placed the hidden fields
<div style="width: 100%; float: left;">
<div style="width: 80%; float: left;">
<asp:ContentPlaceHolder ID="ContentFooter" runat="server">
<asp:HiddenField ID="HLogInfo" runat="server" Value="" />
<asp:HiddenField ID="HUName" runat="server" Value="" />
</asp:ContentPlaceHolder>
</div>
</div>
I should have place those hidden fields outside the ContentPlaceHolder as that portion is for the child pages..
After correcting the code like this..everything worked fine..
<div style="width: 100%; float: left;">
<div style="width: 80%; float: left;">
<asp:HiddenField ID="HLogInfo" runat="server" Value="" />
<asp:HiddenField ID="HUName" runat="server" Value="" />
<asp:ContentPlaceHolder ID="ContentFooter" runat="server">
</asp:ContentPlaceHolder>
</div>
</div>
Thanks Muhammad Akhta for spending your valuable time helping me from this mess..