在loginview asp.net中获取gridview控件
我正在与loginview合作。loginview中有一个gridview,我想将其与数据库表绑定,但无法在.cs代码中访问此gridview 我试过这个:在loginview asp.net中获取gridview控件,asp.net,gridview,loginview,Asp.net,Gridview,Loginview,我正在与loginview合作。loginview中有一个gridview,我想将其与数据库表绑定,但无法在.cs代码中访问此gridview 我试过这个: GridView GridView1 = (GridView)LoginView1.FindControl("GridView1"); 但是gridview仍然没有初始化。 注意,在web.config文件中,我设置了 <authentication mode="Forms"/> 有人知道这个问题的解决方法吗 此代码的一
GridView GridView1 = (GridView)LoginView1.FindControl("GridView1");
但是gridview仍然没有初始化。
注意,在web.config文件中,我设置了
<authentication mode="Forms"/>
有人知道这个问题的解决方法吗
此代码的一部分:
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:LoginView ID="LoginView1" runat="server">
<LoggedInTemplate>
<div class="tab-content" id="mytabcontent">
<div class="tab-pane active" id="new1">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</div>
</LoggedInTemplate>
<AnonymousTemplate>
<asp:HyperLink runat="server" navigationURL = "default.aspx">Login</asp:HyperLink>
</AnonymousTemplate>
</asp:LoginView>
</asp:Content>
登录
您可能会收到此错误,因为用户可能未通过身份验证
试一试
使用断点并检查是否调用了访问Gridview的行
更新:
要进行身份验证,请创建身份验证Cookie
FormsAuthenticationTicket authTicket = new
FormsAuthenticationTicket(1, //version
username.ToString(), //user name
DateTime.Now, //creation
DateTime.Now.AddDays(365), //Expiration
false, ""
//Persistent
);
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(username.ToString(), true);
//在登录页面中创建cookie后重定向到安全页面您可以只处理GridView的init事件:
<asp:GridView ID="GridView1" runat="server" OnInit="GridView1_Init">
</asp:GridView>
是,编译错误现已消失。但即使我已经授权我看到Hypelink,即匿名模板的控制。为什么?你怎么能说你是被授权的。在页面加载中,使用此bool IsAuthenticated=User.Identity.IsAuthenticated并检查您是否真的经过身份验证。我不知道你是如何通过用户身份验证的。通过使用代码,您可以确保IsAuthenticated为false。我使用以下代码进行授权:e.Authenticated=true;会话[“userID”]=Login1.UserName;重定向(“admin.aspx”);这意味着您没有经过身份验证要进行授权,您需要创建一些AuthTicket,然后才能进行身份验证。我认为你所做的是不对的
<asp:GridView ID="GridView1" runat="server" OnInit="GridView1_Init">
</asp:GridView>