2015-09-06 86 views
1

我想要做類似下面的事情。從控制器傳遞錯誤消息來查看

//Controller 

if(Session["UserId"]!=null) // If user is logged in 
{ 
    return View(db.Orders.ToList()); 
} 
else 
{ 
    //return a error message on the same view 
} 

我該怎麼做?

回答

0

理想情況下,您可以使用視圖模型並在其中有錯誤消息的屬性。如果你不使用視圖模型,你可以將值添加到您的ViewBag並在視圖中使用它:

if(Session["UserId"]!=null) // If user is logged in 
{ 
    return View(db.Orders.ToList()); 
} 
else 
{ 
    ViewBag.ErrorMessage = "My error message"; 
} 

在你看來,你會用什麼地方的附加值:

<p>@ViewBag.ErrorMessage</p> 
0

不當然,如果你仍然需要這個,但我會做的是拋出HttpException並讓我的ajax調用來處理它。

實施例:

try 
{ 
    // DO SOMETHING.... 
} 
catch (Exception ex) 
{ 
    //Note: I use Bad Request status code for this example. You can choose what is specific for your needs... 
    throw new HttpException((int)HttpStatusCode.BadRequest, ex.Message, ex.InnerException); 
} 
相關問題