- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
好吧,我对 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 ";
}
}
}
我在 MemberCreditLabel 上收到 Nullref 异常。它被智能感知检测到。我认为问题可能是 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 概念有关。有任何想法吗?
最佳答案
显然这是 by design :
This is by design. The content control replaces the content of the contentplaceholder control which is inside a template. Thus the textbox actually gets instatiated in a template and thus needs to be looked up using FindControl - direct access will not be available.
Thanks,
The WebPlatform and Tools Team.
但是,使用递归 FindControl,我实际上无法获得 LoggedInTemplate 内的控件 - 事实上,在页面的标记中,ReSharper 提示它无法解析符号“LoginContentPlaceHolder” - 即它无法在 MasterPage 上正确找到内容占位符。
有什么方法可以在所有经过身份验证的页面上显示学分吗?
或者,您可以仅使用包含信用计数的 LoggedInTemplate 将 LoginView 包装到用户控件中,然后将其放入内容占位符中。
关于c# - Nullref Exc。在智能感知检测到的标签上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2186024/
我最近向一位同事发了言: NullReferenceExceptions should never be explicitly caught 我用了从不……嗯。我自己从来没有见过一个合适的用例来捕捉它
好吧,我对 ASP.NET 和 MasterPage 概念还很陌生,有一个我无法弄清楚的错误。 这是我的 default.aspx 的一部分: You've got credits.
我一直在搜索其他相关帖子,但没有找到任何内容,所以这里... 我有一个( super )简单的 Ninject 测试,它因 NullReferenceExcption 而失败,我找不到任何关于原因的信
我已更新我的 Xamarin.Android 应用程序包 MvvmCross来自 5.3.2至 5.4和应用程序在启动时开始崩溃。我手动确定原因是链接器 - 我有 link SDK libs only
我是一名优秀的程序员,十分优秀!