Ich habe eine Methode GetPrivlidge()
genannt, dass ich es in jedem Controller verwenden, ist diese Methode für verwendet wird, was wird der aktuelle Benutzer angemeldet werden sehen, und was nicht sehen dies die MethodeKann ich ViewBag vom Controller zum Controller in MVC senden?
public void GetPrivlidge()
{
string name = System.Web.HttpContext.Current.User.Identity.Name;
name = EncriptionAndDecription.Encrypt(name);
int UserId = (from c in db.users where c.Arabicusername == name select c.Usersid).SingleOrDefault();
SamahyatOfUser S = (from SS in db.SamahyatOfUsers where SS.User_Id == UserId select SS).SingleOrDefault();
ViewBag.Pri = S;
string RoleName = (from R in db.Roles where R.User_ID == UserId && R.UserName == name select R.RoleName).SingleOrDefault();
if (RoleName.Equals(EncriptionAndDecription.Encrypt("Admin")))
{
ViewBag.ADMIN = true;
}
else
{
ViewBag.ADMIN = false;
}
}
I ViewBag.Pri
verwenden ist Check-in-Layout für Privileg, ich muss diese ViewBag
in jeder Aktion senden, so habe ich beschlossen, Controller zu machen, die alle gängigen Methoden haben dies ist mein Controller
public class AllRequiredDataController : Controller
{
//
// GET: /AllRequiredData/
mts_exchangeEntities db = new mts_exchangeEntities();
//this Method is used in privlidge that make user do thing and dont make anthor thing (Do or not Do)
#region privlidge_Data
public void GetPrivlidge()
{
string name = System.Web.HttpContext.Current.User.Identity.Name;
name = EncriptionAndDecription.Encrypt(name);
int UserId = (from c in db.users where c.Arabicusername == name select c.Usersid).SingleOrDefault();
SamahyatOfUser S = (from SS in db.SamahyatOfUsers where SS.User_Id == UserId select SS).SingleOrDefault();
ViewBag.Pri = S;
string RoleName = (from R in db.Roles where R.User_ID == UserId && R.UserName == name select R.RoleName).SingleOrDefault();
if (RoleName.Equals(EncriptionAndDecription.Encrypt("Admin")))
{
ViewBag.ADMIN = true;
}
else
{
ViewBag.ADMIN = false;
}
}
#endregion
}
und in _layOut
nehme ich diese ViewBag
und Guss machen für in und WO rk mit Privileg als diese
FinalMts.Models.SamahyatOfUser S = (FinalMts.Models.SamahyatOfUser)ViewBag.Pri;
und in Aktion, die ich mache Objekt-Controller und rufen Sie die Methode GetPrivlidge()
als diese
AllRequiredDataController Required = new AllRequiredDataController();
public ActionResult AddCurrencyPrices()
{
//get privlidg Data
Required.GetPrivlidge();
return View();
}
aber die layout
Sie die ViewBag.Pri
und Fehlermeldung nicht sehen, sagen, dass
Objektverweis nicht auf eine Instanz eines Objekts festgelegt.
ist dieser Controller nicht ViewBag
wenn ja, was soll ich mit diesem ViewBag
beschäftigen tun sehen kann?
vielen Dank Mann erben Sie meine Zeit gespeichert;) :) –