2014-01-24 36 views
0

我新的ASP.NET和C#返回null或Not Found錯誤,如果在asp.net C#中沒有發現數據

我有一個模型類

public class ClientInfo 
{ 
    public int Id { get; set; } 
    public string Username { get; set; } 
    public int ClientPackageId { get; set; } 
    public string Name { get; set; } 
    public string Country { get; set; } 
    public string State { get; set; } 
    public string City { get; set; } 
    public string Street { get; set; } 
    public string Email { get; set; } 
    public string Contact { get; set; } 
    public string Mobile { get; set; } 
    public string Description { get; set; } 
    public int RemSms { get; set; } 
    public DateTime StartDate { get; set; } 
    public DateTime DueDate { get; set; } 
} 

和訪問它,我有一個控制器

public ClientInfo GetClient(string username) 
{   
    SmsHandler ci = new SmsHandler(); 
    ClientInfo clientInfo = new ClientInfo(); 

    //the below code gives the client 
    var client = dbContext.Clients.FirstOrDefault(m => m.Username == username); 

    if (client != null) 
    { 
     clientInfo = ci.GetClientInfo(client.Id); 
     return clientInfo; 
    } 
    return NotFound(); 
} 

如果客戶是空我想回到找不到客戶端錯誤...我試過NotFound上面一樣,但它說,這是一個HTTPRequest錯誤。 。

請幫助....

+1

這是什麼? MVC或WebForms?如果它是MVC,那麼你的動作應該返回ActionResult,而不是特定的對象。如果你需要返回自定義對象,那麼你需要使用Json –

+0

使用try catch並拋出你自己的自定義異常。 –

+0

@SergeyLitvinov它是MVC,它只是一個方法,我需要調用。如果它是空的,它必須返回一些錯誤 – Robz

回答

0

Exception你定義String。它是最簡單的方法,但我希望它可以解決您的問題。

try 
{ 
    ClientInfo ifno = GetClient(username); 
} 
catch (Exception ex) 
{ 
     // ex.Message : contain client not found 
} 

public ClientInfo GetClient(string username) 
{   
    SmsHandler ci = new SmsHandler(); 
    ClientInfo clientInfo = new ClientInfo(); 

    //the below code gives the client 
    var client = dbContext.Clients.FirstOrDefault(m => m.Username == username); 

    if (client != null) 
    { 
     clientInfo = ci.GetClientInfo(client.Id); 
     return clientInfo; 
    } 
    else 
    { 
     throw new Exception("Client not found !"); 
    } 

} 
相關問題