Ich möchte in der Controller einen bool auf true setzen, wenn eine bestimmte Ansicht erzeugt wird, und dann den Header der Ansicht entsprechend ändern. Das sollte eigentlich ganz einfach sein, aber stattdessen bekomme ich folgende Fehlermeldung:
Kann bei einer NULL-Referenzbindung zur Laufzeit nicht ausgeführt werden. Ausnahmedetails: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: Kann bei einer NULL-Referenzbindung zur Laufzeit nicht ausgeführt werden
Alles was ich im Controller mache, ist:
[AllowAnonymous]
public ActionResult Register()
{
ViewBag.IsRegistration = true;
return View();
}
und dann in der Ansicht:
@if (ViewBag.IsRegistration)
{
Registrieren Sie sich mit einem anderen Dienst.
}
else
{
Verwenden Sie einen anderen Dienst, um sich anzumelden.
}
aber es schlägt fehl bei:
@if (ViewBag.IsRegistration)
UPDATE
Relevanter Controller-Code:
[AllowAnonymous]
public ActionResult Register()
{
ViewBag.IsRegistration = "true";
return View();
}
Die Registrierungsansicht:
@model Mvc.Models.RegisterViewModel
@{
Layout = "~/Views/Shared/_AccountLayout.cshtml";
ViewBag.Title = "Register";
}
@ViewBag.Title.
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary()
Neues Konto erstellen.
@Html.LabelFor(m => m.UserName, new { @class = "control-label" })
@Html.TextBoxFor(m => m.UserName)
@Html.LabelFor(m => m.Password, new { @class = "control-label" })
@Html.PasswordFor(m => m.Password)
@Html.LabelFor(m => m.ConfirmPassword, new { @class = "control-label" })
@Html.PasswordFor(m => m.ConfirmPassword)
}
@Html.Action("ExternalLoginsList", new { ReturnUrl = ViewBag.ReturnUrl })
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
Das ExternalLoginsList-Teil:
@using Glimpse.Core.Extensions
@using Microsoft.Owin.Security
@model ICollection
@if (Model.Count == 0)
{
Es sind keine externen Authentifizierungsdienste konfiguriert
}
else
{
using (Html.BeginForm("ExternalLogin", "Account", new { ReturnUrl = ViewBag.ReturnUrl }))
{
@Html.AntiForgeryToken()
@if (!string.IsNullOrEmpty(ViewBag.IsRegistration))
{
Registrieren Sie sich mit einem anderen Dienst.
}
else
{
Verwenden Sie einen anderen Dienst, um sich anzumelden.
}
@foreach (AuthenticationDescription p in Model) {
@p.AuthenticationType
}
}
}