2013-04-24 2 views
-3


페이지를 courseinfo 돌아올 다음 사용자가 로그인 한 후 사용자가 그렇지 않으면
코스 정보를 확인할 수있는 경우이 페이지를 로그인하도록 지시한다는 사실은 내가 원하는 좀 도와주세요 개체의 인스턴스로 설정되지 않았습니다 만 로그인 후 내 코드는Response.Cookies [ "path"]. Value = Request.Url.AbsolutePath.ToString(); 오류 개체 참조가

오류를 제공 영문

<%@ Page Language="C#" MasterPageFile="~/Secret for Management/MasterPage.master" 
AutoEventWireup="true" CodeFile="Course_info.aspx.cs" Inherits="Secret_Course_info" 
Title="Untitled Page" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> 
<meta http-equiv="Content-Language" content="English" /> 
<meta name="Author" content="MominaNisar()" /> 
<meta name="MominaNisar" content="index,follow" /> 
<meta name="Description" content="CENTER MANAGEMENT" /> 
<meta name="Keywords" content="CENTER ,MANAGEMENT" /> 
<link rel="stylesheet" type="text/css" href="../style.css" /> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> 
<li><a href="../Secret for all user/Default.aspx" accesskey="c"><span   
class="key">H</span>ome</a></li> 
<li><a href="../Secret for all user/Management.aspx" accesskey="g"><span class="key"> 
    M</span>anagement</a></li> 
<li><a href="../Secret for all user/student.aspx" accesskey="s"><span  
class="key">S</span>tudent</a></li> 
<li class="active"><span class="key">C</span>ourse</li> 
<li><a href="../Secret for all user/Exam_schedule.aspx" accesskey="x">Exam<span 
class="key"> 
    S</span>chedule</a></li> 
<li><a href="../Secret for all user/Notice_Board.aspx" accesskey="n"><span class="key"> 
    N</span>otice Board</a></li> 
<li><a href="../Secret for all user/Visiter_info.aspx" accesskey="n"><span class="key"> 
    V</span>isitor</a></li> 
</asp:Content> 
<asp:Content ID="Content3" ContentPlaceHolderID="Menu_left" runat="Server"> 
<li><a href="../Secret for all user/Course_of_Management.aspx" accesskey="n"><span 
    class="key">M</span>anagement</a></li> 
<li><a href="../Secret for all user/Course_of_Computer_science.aspx" accesskey="f">  
<span 
    class="key">C</span>omputer Science</a></li> 
<li><a href="../Secret for all user/Course_of_Other.aspx" accesskey="F"><span 
class="key"> 
O</span>ther</a></li> 
</asp:Content> 
<asp:Content ID="Content4" ContentPlaceHolderID="Leftcol610" runat="Server"> 
<h3> 
    Courses Info 
</h3> 
<asp:UpdatePanel ID="up1" runat="server"> 
    <ContentTemplate> 
     <asp:Panel ID="pn" DefaultButton="btnSubmit" runat="server"> 
      <table align="center"> 
       <tr> 
        <td colspan="3"> 
         &nbsp; 
        </td> 
       </tr> 
       <tr> 
        <td class="active"> 
         &nbsp; 
        </td> 
        <td class="active"> 
         Course Name : 
        </td> 
        <td> 
         <asp:TextBox ID="Course_Name" runat="server" /> 
     <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
    SetFocusOnError="True" ControlToValidate="Course_Name">* 
    </asp:RequiredFieldValidator> 
        </td> 
       </tr> 
       <tr> 
        <td class="active"> 
         &nbsp; 
        </td> 
        <td class="active"> 
         Course Duration : 
        </td> 
        <td> 
         <asp:TextBox ID="Course_Duration" runat="server" /> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
    SetFocusOnError="True" ControlToValidate="Course_Duration">* 
    </asp:RequiredFieldValidator> 
        </td> 
       </tr> 
       <tr> 
        <td class="active"> 
         &nbsp; 
        </td> 
        <td class="active"> 
         Course Qualification : 
        </td> 
        <td> 
         <asp:TextBox ID="Course_Qualification" runat="server" /> 
     <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" 
     SetFocusOnError="True" ControlToValidate="Course_Qualification">* 
     </asp:RequiredFieldValidator> 
        </td> 
       </tr> 
       <tr> 
        <td class="active"> 
         &nbsp; 
        </td> 
        <td class="active"> 
         Course Total Fees : 
        </td> 
        <td> 
         <asp:TextBox ID="Course_Total_Fees" runat="server" /> 
    <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" 
    SetFocusOnError="True" ControlToValidate="Course_Total_Fees">* 
    </asp:RequiredFieldValidator> 
        </td> 
       </tr> 
       <tr> 
        <td class="active"> 
         &nbsp; 
        </td> 
        <td class="active"> 
         Course Fees Method : 
        </td> 
        <td> 
         <asp:TextBox ID="Course_Fees_Method" runat="server" /> 
    <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" 
    SetFocusOnError="True" ControlToValidate="Course_Fees_Method">* 
    </asp:RequiredFieldValidator> 
        </td> 
       </tr> 
       <tr> 
        <td class="active" colspan="3"> 
     <asp:Label ID="lblerror" CssClass="popuptitle" Style="color: Red" runat="server" 
          Width="465px" Visible="False" /> 
        </td> 
       </tr> 
       <tr> 
        <td class="active" colspan="3" align="center"> 
         <asp:Button Text="SUBMIT" ID="btnSubmit" runat="server" 
          onclick="btnSubmit_Click" Visible="False" /> 
        </td> 
       </tr> 
      </table> 
     </asp:Panel> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
    </asp:Content> 




    aspx.cs 


using System; 
using System.Collections; 
using System.Configuration; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Xml.Linq; 
using System.Data.SqlClient; 

public partial class Secret_Course_info : System.Web.UI.Page 
{ 
SqlConnection con; 
SqlCommand cmd; 
SqlDataReader rea; 
protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Request.Cookies["UserName"] != null) 
    { 
     if (Context.User.Identity.Name.ToString() == "admin") 
     { 
      btnSubmit.Visible = true; 
     } 
     else 
     { 
      btnSubmit.Visible = false; 
      lblerror.Visible = true; 
      lblerror.Text = "::This Page Only For Administrator::"; 
     } 
    } 
    else 
    { 

     Response.Cookies["path"].Value = Request.Url.AbsolutePath.ToString(); 
     /* now after login i want that it reverts to the page but it gives the error object reference is not set to instance of the type*/ 
     Response.Redirect("Login.aspx"); 
    } 
    } 
    protected void btnSubmit_Click(object sender, EventArgs e) 
    { 
    int total; 
    total = 0; 
    String strcon = "Data Source=localhost;Initial 
    Catalog=Student_BioData;user=aaa;pwd=123;"; 
    string strsql = "select * from Courses "; 
    con = new SqlConnection(strcon); 
    cmd = new SqlCommand(); 
    try 
    { 
     con.Open(); 
     cmd.Connection = con; 
     cmd.CommandText = strsql; 
     rea = cmd.ExecuteReader(); 
     while (rea.Read()) { total++; } 
    } 
    catch (SqlException ex) { lblerror.Text = ex.Message.ToString(); } 

    total += 1; 
    try 
    { 
    strsql = "Insert into Courses values('"+ 
     Course_Name.Text.Trim()+ "','" + 
     Course_Duration.Text.Trim() + "','" + 
     Course_Qualification.Text.Trim() + "','" + 
     Course_Total_Fees.Text.Trim() + "','" + 
     Course_Fees_Method.Text.Trim()+ "')"; 
    con = new SqlConnection(strcon); 
    cmd = new SqlCommand(); 
     con.Open(); 
     cmd.Connection = con; 
     cmd.CommandText = strsql; 
     cmd.ExecuteNonQuery(); 
      lblerror.Visible = true; 
      lblerror.Text = " Data Save In Courses info "; 
     } 
    catch (SqlException ex) { lblerror.Text = ex.Message.ToString(); } 
    } 
    } 



    stack trace 


    [NullReferenceException: Object reference not set to an instance of an object.] 
    Loginpage.btnLogIn_Click(Object sender, EventArgs e) in d:\Momina\installed  
    setup\Center Management\Center Management\Login.aspx.cs:53 
    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +118 
    System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +112 
     System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler 
    .RaisePostBackEvent(String eventArgument) +10 

     System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String 
     eventArgument) +13 
     System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36 
     System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, 
     Boolean includeStagesAfterAsyncPoint) +5563 





    it gives error like 
    //Response.Redirect("UpdateProfile.aspx"); 
    Line 52:    Response.Cookies["UserName"].Value = txtUserName.Text; 
Line 53: Response.Redirect(Request.Cookies["path"].Value.ToString());//herecomes error 
     Line 54:   } 
     Line 55:   else 


    login.aspx 

    <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" 
    CodeFile="Login.aspx.cs" Inherits="Loginpage" Title="Loginpage" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> 
<meta http-equiv="Content-Language" content="English" /> 
<meta name="Author" content="Momina Nisar " /> 
<meta name="Momina Nisar " content="index,follow" /> 
<meta name="Description" content="STUDENT MANAGEMENT SYSTEM" /> 
<meta name="Keywords" content="STUDENT,MANAGEMENT" /> 
<link rel="stylesheet" type="text/css" href="style.css" /> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> 
<li><a href="Default.aspx" accesskey="h"><span class="key">H</span>ome</a></li> 
<li><a href="Management.aspx" accesskey="g"><span class="key">M</span>anagement</a>  
</li> 
<li><a href="student.aspx" accesskey="s"><span class="key">S</span>tudent</a></li> 
<li><a href="Course_Infor.aspx" accesskey="c"><span class="key">C</span>ourse</a></li> 
<li><a href="Exam_schedule.aspx" accesskey="x">Exam<span class="key"> 
S</span>chedule</a></li> 
<li><a href="Notice_Board.aspx" accesskey="n"><span class="key">N</span>otice Board</a> 
</li> 
<li><a href="Visiter_info.aspx" accesskey="n"><span class="key">V</span>isitor</a></li> 
</asp:Content> 
<asp:Content ID="Content3" ContentPlaceHolderID="Menu_left" runat="Server"> 
<li><a href="Login.aspx" accesskey="l"><span class="key">L</span>ogin</a></li> 
<li><a href="Contas_us.aspx" accesskey="u"><span class="key">C</span>ontact Us</a></li> 
<li><a href="Feedback.aspx" accesskey="f">Feed<span class="key">B</span>ack</a></li> 
</asp:Content> 
<asp:Content ID="Content4" ContentPlaceHolderID="Leftcol610" runat="Server"> 
<fieldset> 
<legend>Login</legend> 
<div class='container'> 
<asp:Label ID="Name" runat="server" Text="UserName:" CssClass="lbl"/> 
<br/> 
<asp:TextBox ID="txtUserName" runat="server" Height="22px"/> 
<asp:RequiredFieldValidator ID="RV1" runat="server" 
         ControlToValidate="txtUserName" 
         ErrorMessage="Please Enter User Name" 
         SetFocusOnError="True">* 
</asp:RequiredFieldValidator><br /> 
</div> 

<div class='container'> 
<asp:Label ID="lblPwd" runat="server" Text="Password:" CssClass="lbl"/> 
<br/> 
<asp:TextBox ID="txtPwd" runat="server" TextMode="Password" 
        CssClass="pwd" Height="22px"/> 
<asp:RequiredFieldValidator ID="RV2" runat="server" 
         ControlToValidate="txtPwd" 
         ErrorMessage="Your Password" 
         SetFocusOnError="True">* 
</asp:RequiredFieldValidator><br /> 
</div> 

    <div class='container'> 
    <asp:Button ID="btnLogIn" runat="server" Text="Sign In" 
         onclick="btnLogIn_Click"/> 
    </div> 

<div class='container'> 
<asp:HyperLink ID="HyperLink1" runat="server" 
NavigateUrl="~/ForgotPassword.aspx">Forgot Password ?</asp:HyperLink> 
<br/> 
</div> 
<div class='short_explanation'>New User ? 
<asp:HyperLink ID="HyperLink2" runat="server" 
    NavigateUrl="~/Createuser.aspx">SignUp !</asp:HyperLink></div>      
    <asp:ValidationSummary ID="ValidationSummary1" 
        runat="server" CssClass="error"/> 
    <br /><br /> 
    <asp:Label ID="lblMsg" runat="server" Text="" CssClass="lbl"/> 
    </fieldset> 
    </asp:Content> 

    login.aspx.cs 

    using System; 
    using System.Collections; 
using System.Configuration; 
    using System.Data; 
    using System.Linq; 
    using System.Web; 
    using System.Web.Security; 
    using System.Web.UI; 
    using System.Web.UI.HtmlControls; 
    using System.Web.UI.WebControls; 
    using System.Web.UI.WebControls.WebParts; 
    using System.Xml.Linq; 
    using System.Data.SqlClient; 
    using System.Net; 
    using System.Net.Mail; 

    public partial class Loginpage : System.Web.UI.Page 
    { 
    protected void Page_Load(object sender, EventArgs e) 
    { 
    //Login1.Focus(); 


     } 
    protected void btnLogIn_Click(object sender, EventArgs e) 
    { 
    String strCon = "Data Source=localhost;Initial  
    Catalog=Student_BioData;user=aaa;pwd=123;"; 
    string strSelect = "SELECT COUNT(*) FROM integrate WHERE UserName = @UserName AND 
    Password = @Password"; 

    SqlConnection con = new SqlConnection(strCon); 
    SqlCommand cmd = new SqlCommand(); 
    cmd.Connection = con; 
    cmd.CommandType = CommandType.Text; 
    cmd.CommandText = strSelect; 

    SqlParameter username = new SqlParameter("@UserName", SqlDbType.VarChar, 50); 
    username.Value = txtUserName.Text.Trim().ToString(); 
    cmd.Parameters.Add(username); 

    SqlParameter password = new SqlParameter("@Password", SqlDbType.VarChar, 50); 
    password.Value = txtPwd.Text.Trim().ToString(); 
    cmd.Parameters.Add(password); 

    con.Open(); 
    int result = (Int32)cmd.ExecuteScalar(); 
    con.Close(); 

    if (result >= 1) 
    { 
     Session["UserName"] = txtUserName.Text.ToString().Trim(); 
     //Response.Redirect("UpdateProfile.aspx"); 
     Response.Cookies["UserName"].Value = txtUserName.Text; 
     Response.Redirect(Request.Cookies["path"].Value.ToString()); 
    } 
    else 
     lblMsg.Text = "Incorrect Username or Password"; 
    } 
    } 

실제로 내가 사용하기 쉬운 경우 로그인 후 사용자가가 지시 그렇지 않으면
코스 정보를 확인 할 수 원하는 제발 도와주세요 페이지를 로그인 한 후
페이지를 courseinfo 돌아올하지만 로그인 후에는 null 참조에 대한 오류

+1

그것은 분명한 질문이 아니에요을 제공합니다. 미안해, 이해할 수 없어! –

+0

내 아래 답변보기 http://stackoverflow.com/a/16183779/2218635 –

+0

문제의 범위를 좁히십시오. 아무도 그 양의 코드를 읽지 않을 것입니다. –

답변

0

확인

Response.Cookies["path"].Value = Request.Url != null ? Request.Url.AbsolutePath : string.Empty; 

또는

Response.Cookies["path"].Value = Request.UrlReferrer != null ? Request.UrlReferrer.AbsolutePath : string.Empty; 
+0

문제는 다음 코드 라인을 사용하는 경우입니다 (Request.Cookies [ "UserName"]! = null) {if (Context.User.Identity. Name.ToString() == "admin") { btnSubmit.Visible = true;}} else { Response.Cookies [ "path"] .Value = Request.Url.AbsolutePath.ToString(); Response.Redirect ("Login.aspx");} –

관련 문제