2009-08-19 3 views
0

J'essaie de créer une fonction dans mon application mvc qui va valider l'entrée url de l'utilisateur. dans mon code ci-dessous, j'obtiens le "pas tous les chemins de code retournent une valeur." J'ai besoin d'aide pour comprendre pourquoi il n'aime pas quand je retourne le résultat. Merci!C# function, valider l'URL dans l'application mvc

public static long InsertUrl(string inputUrl) 
     { 
      long result = 0; 
      if (!string.IsNullOrEmpty(inputUrl)) 
      { 

       using (ShortUrlEntities db = new ShortUrlEntities()) 
       { 

        if (inputUrl.IndexOf(@"://test/") == -1) 
        { 
         inputUrl = "http://test/" + inputUrl; 
        } 

        Regex RgxUrl = new Regex("(([a-zA-Z][0-9a-zA-Z+\\-\\.]*:)?/{0,2}[0-9a-zA-Z;/?:@&=+$\\.\\-_!~*'()%]+)?(#[0-9a-zA-Z;/?:@&=+$\\.\\-_!~*'()%]+)?"); 
        if (RgxUrl.IsMatch(inputUrl)) 
        { 
         ShortURL su = new ShortURL(); 
         su.url = inputUrl; 
         db.AddToShortURLSet(su); 
         db.SaveChanges(); 
         result = su.id; 
        } 

        return result; 
       } 
      } 

     } 
    } 
} 

Répondre

1

Vous avez un Si

if (!string.IsNullOrEmpty(inputUrl)) 

et votre retour est à l'intérieur que si. Dans le cas où l'entrée inputUrl est nulle ou vide, vous ne retournez rien.

Déplacez votre retour Résultat; à l'extérieur du si.

+0

trop facile, je suppose que j'avais regardé le code trop longtemps. Merci! –

0

Le problème est que si cela:

if (!string.IsNullOrEmpty(inputUrl)) 

échoue, aucun résultat ne sera jamais retourné. Ceci est nécessaire pour toutes les fonctions qui retournent une valeur non seulement dans MVC.

Questions connexes