Je sais ce que cela signifie, et j'ai cherché google, et msdn. Mais, alors que je vais me contenter de cela?
J'ai une fonction dans mon code de rasoir dans le dossier App_code (à l'aide de webmatrix), et je reçois des informations de la base de données, effectuez des calculs, puis mettez à jour la base de données avec le NOUVEAU TOTAL. P>
Mais, comment puis-je passer des variables à ma méthode dans le dossier App_code si cela ne me laissera pas? P>
Voici ce que j'ai: P >
EDITQUANTITY.CSHTML (dossier racine): p> et, base.cs (Dossier d'app_code): p> J'ai essayé quelques choses à voir si cela fonctionnerait, mais Nope. Je fais évidemment le problème, mais c'est comme ça que je le fais dans des applications de bureau, je ne comprends pas pourquoi ce serait différent ici pour les pages Web et comment shold je vais faire cela? P> Merci! P> p>
5 Réponses :
Il suffit de remplacer les vars dans la liste des paramètres avec des types de béton. P>
si supposant que ce sont des cordes, vous auriez ceci: p>
vide public CalculateTotalpriceincart (chaîne Nombre, description de la chaîne, chaîne Orderid, bool isboxed) p> blockQuote>
NOOOOPE! Ne fonctionne pas désolé. Déjà essayé et obtenez ceci: ne peut pas convertir implicitement de type 'System.Collections.Generic.Inédiric
Quelle variable arrive comme une iénumérable? On dirait que vous pouvez également avoir des problèmes dans le code qui remplissent ces variables car cela ressemble à une collection, bien que le code semble s'attendre à des valeurs simples. En tout état de cause, la solution consiste à donner des types réels à vos paramètres qui correspondent à ce qui se passe, mais avant de vous assurer que ces variables tiennent les types que vous pensez qu'ils sont.
Vous ne pouvez pas utiliser var code> comme type de paramètre de méthode. Il doit s'agir d'un vrai type (chaîne, int, objet, etc.). var code> ne peut être utilisé qu'à l'intérieur d'une méthode (comme dans votre pourbeach) p>
J'ai essayé d'utiliser une chaîne, mais alors il jette un ne peut pas convertir implicitement le type 'System.Collections.Generic.Inédiric
Ensuite, vous devez utiliser iEnumerable
J'ai essayé d'utiliser dynamique comme type, mais j'ai donné exactement la même erreur dans ma question
Avez-vous eu d'autres fonctions prenant des paramètres var? Dynamique est autorisé comme type de méthode. Aussi, essayez juste iEnumerable
Merci, mais non, je n'avais aucune autre fonction prenant des paramètres var. J'ai essayé avec juste iEnumerable aussi, mais cela affichait à nouveau l'erreur d'origine.
Pouvez-vous modifier votre message pour inclure la tentative avec dynamique et / ou iNeumérable et l'erreur + la pile que vous obtenez lorsque vous l'exécutez
Oui, veuillez essayer de nettoyer votre question avec le problème réel. Le problème ici, maintenant i> est que les réponses existantes répondent à la question que vous avez posée, mais elles ne répondent pas à la question sur le problème i> vous avez, ce qui n'est pas le même Suite. Vous devriez envisager d'accepter une réponse ici et de repousser une nouvelle question avec différents détails. Les questions qui migrent latéralement dans le sens sont problématiques comme ça.
Vous ne pouvez pas définir les paramètres de la méthode avec le mot-clé Var car le compilateur ne peut pas déterminer la signature de la méthode au moment de la compilation. dans un autre commentaire que vous avez dit qu'il ne peut pas lancer ienumerable chaîne code>. Alors déclarez le paramètre correctement! Je ne sais pas quoi c'est. p>
J'ai déjà essayé cela, mais cela m'a donné cette erreur: ne peut pas convertir implicitement le type 'System.Collections.Generic.ienumereric. Dynamic>' à 'String' Code>
Voir ma mise à jour, Jase. Il n'y a aucun moyen pour moi de savoir quels sont les types de vos arguments. Vous devez regarder ce que vous essayez de passer.
Est-ce votre code actuel?
CalculateTotalPriceInCart(Request.QueryString["PartNumber"], Request.QueryString["Description"], ((IEnumerable<string>)Session["OSFOID"]).FirstOrDefault(), true);
Comme d'habitude, c'est bête. Pourquoi ne pas utiliser le déclarer comme type de type de retour du constructeur? Comme une "règle" var ne doit être utilisée que avec des constructeurs. Si vous avez un profond problème avec cela .. Introduisez DIM dans CSHARP; P>
Changer simplement le jeton pour une référence de classe lors de la compilation. P>
En tant que note latérale: les déclarations préparées / paramétrées sont votre ami. Ne créez pas de requêtes par des concatuations à la chaîne, sauf si vous avez une raison vraiment bonne raison.