Хорошо, я довольно новичок в ASP.NET и концепции MasterPage, и есть ошибка, которую я просто не могу понять.
Это часть моего default.aspx:
<asp:Content ID="ContentLoginContent" ContentPlaceHolderID="LoginContentPlaceHolder" runat="server">
<div id="ContentLoginDiv">
You've got <asp:Label ID="MemberCreditLabel" runat="server" Text="0"></asp:Label> credits.
</div>
Это релевантная часть моего default.aspx.cs:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Init(object sender, EventArgs e)
{
}
protected void Page_Load(object sender, EventArgs e)
{
if (User.IsInRole("Authenticated"))
{
MemberCreditLabel.Text = "hello ";
}
}
}
Я получаю исключение Nullref для MemberCreditLabel.Это обнаруживается с IntelliSense.Я думаю, что проблема может заключаться в том, что ContentPlaceHolder "ContentLoginContent" отображается только при входе в систему. Это часть моей MasterPage:
<asp:LoginView ID="MemberLoginView" runat="server">
<AnonymousTemplate>
<asp:Login ID="LogInBox" runat="server" Height="137px" style="margin-left: 0px"
Width="16px">
</asp:Login>
</AnonymousTemplate>
<LoggedInTemplate>
Welcome <asp:LoginName ID="MemberLoginName" runat="server" /> !
<asp:LoginStatus ID="MemberLoginStatus" runat="server" />
<asp:ContentPlaceHolder ID="LoginContentPlaceHolder" runat="server">
//Is this the problem?
</asp:ContentPlaceHolder>
</LoggedInTemplate>
</asp:LoginView>
Я хочу показать сумму кредита, хранящуюся в базе данных,Функция для получения данных, которые я хочу, работает.Я беру имя пользователя, который в данный момент вошел в систему, и хочу получить сумму кредита, связанную с пользователем.Но эта странная ошибка с лейблом полностью останавливает меня ... Вероятно, это связано с концепцией MasterPages, с которой я еще не сталкивался.Есть идеи?