/ / Wie Viewbag Wert mit Modell ein anderer Wert in MVC 4 vergleichen - asp.net-mvc, Entity-Framework, Rasierer

Wie zu vergleichen viewbag Wert mit Modell ein anderer Wert in mvc 4 - asp.net-mvc, Entity-Framework, Rasierer

Ich versuche Viewbag von Action-Methode zu sendenAussicht. Wenn die erste Seite den viewbag-Wert lädt, ist null. Wenn ich die CheckPermissions-Methode aufrufen, erhält viewbag einen Wert und es wird die selbe Ansicht zurückgegeben, in der viewbag einen Wert enthält. Jetzt möchte ich den viewbag-Wert mit einem anderen Wert vergleichen. Ich habe versucht, aber folgenden Fehler erscheint. Laufzeitbindung für eine Nullreferenz kann nicht ausgeführt werden. Dies ist mein Indexansichtscode.

@model c3card.Models.GroupPermissionVM
@{
ViewBag.Title = "Index";
}
@using (Html.BeginForm())
{
@Html.LabelFor(m=>m.GroupID)
@Html.DropDownListFor(m => m.GroupID, Model.GroupList, "Please select", new { id = "ddlgrp" })
foreach(var permission in Model.Permissions)
{
if (ViewBag.marlid.equals(permission))
{
<label>
@Html.RadioButtonFor(m => m.perm_id, permission.perm_id, new {@checked="true"})
<span>@permission.perm_levelname</span>
</label>
}
else
{
<label>
@Html.RadioButtonFor(m => m.perm_id, permission.perm_id)
<span>@permission.perm_levelname</span>
</label>

}
}

Dies ist meine Aktionsmethode

public ActionResult CheckPermissions(int id)
{
var groups = db.tm_grp_group.Where(a => a.grp_isactive == true);
var permissions = db.tm_perm_level;
GroupPermissionVM model = new GroupPermissionVM
{
marlid=db.ts_grp_perm_mapping.Select(p=>p.grp_id==id).Count(),
GroupList = new SelectList(groups, "grp_id", "grp_name"),
Permissions = permissions.Select(p => new PermissionVM
{
perm_id = p.perm_id,
perm_levelname = p.perm_levelname

})
};
ViewBag.marlid = db.ts_grp_perm_mapping.Select(p => p.grp_id == id).Count();

return View("Index",model);
}

Irgendein Vorschlag, warum ich nicht im Stande bin, Werte innerhalb zu vergleichen, wenn Bedingung? Danke im Voraus. Diese Zeile verursacht einen Fehler if (ViewBag.marlid.equals (permission)) Ich habe wie folgt bearbeitet

foreach(var permission in Model.Permissions)
{
if(Model.marlid==permission.perm_id)
{
<label>
@Html.RadioButtonFor(m => m.perm_id, permission.perm_id,new { @checked = true } )@Model.marlid.ToString()
<span>@permission.perm_levelname</span>
</label>

}

Antworten:

3 für die Antwort № 1

Sie können den unten angegebenen Code ändern

if(ViewBag.marlid != null && Model.Permissions != null)
{
foreach(var permission in Model.Permissions)
{
if(ViewBag.marlid == permission.perm_id)
{
<label>
@Html.RadioButtonFor(m => m.perm_id, permission.perm_id,new { @checked = true } )@Model.marlid.ToString()
<span>@permission.perm_levelname</span>
</label>
}
}
}

Hoffe das hilft.