comment obtenir des données de cookie de vue, C# dans mvc3 à l'aide de Viewbag

C'est la première fois pour l'écriture de C# MVC. J'ai ajouter la ligne de la valeur de cookie et vous voulez qu'il genrate le nombre de lignes, mais je ne sais pas comment le faire.

Les gars si vous avez de meilleures solutions, je vais être apprécié. 🙂

Tout d'abord, Créez cookie

if (Request.Cookies["UserSettings"] != null)
        {
            HttpCookie myCookie = new HttpCookie("UserSettings");
            myCookie["Row"] = "5";
            myCookie.Expires = DateTime.Now.AddDays(1d);
            Response.Cookies.Add(myCookie);
        }

Deuxième, Lire Cookie, dans le Contrôleur de lire les lignes de cookie et ensuite l'envoyer par le biais de "Viewbag.RowCookie" pour afficher

 if (Request.Cookies["UserSettings"] != null)
        {
            string userSettings;
            if (Request.Cookies["UserSettings"]["Row"] != null)
            {
                userSettings = Request.Cookies["UserSettings"]["Row"];
                ViewBag.RowCookie = userSettings;
            }

        }
        return View();

Enfin, dans la Vue, Puis d'erreur s'affiche lors d'un clic de la page. (Remarque j'ai vérifié la valeur de ligne est bien dans une autre page.)

   @{int row = 3 ;
      row = (int)ViewBag.RowCookie; } //the problem is this line

     @for (int i = 0; i < row ; i++)
    {
        <tr>
            <td>
                <p>
                    @Html.Label("Name")
                    @Html.EditorFor(model => model.Name[i])</p>
            </td>
            <td>
                <p>
                    @Html.Label("Prob" + (i+1))
                    @Html.EditorFor(model => model.Prop[i])</p>
            </td>
            <td>
                <p>
                    @Html.Label("Forecast" + (i+1))
                    @Html.EditorFor(model => model.Forecast[i])</p>
            </td>
            <td> <p>
                    @Html.DisplayFor(model => model.AxB[i])
                  </p>
            </td>
             <td> <p>
                    @Html.DisplayFor(model => model.PowAxB[i])
                  </p>
            </td>
        </tr>

Merci à vous tous pour votre aide.

  • quel est l'erreur ?
  • Il ne peut pas générer le code HTML, en raison de viewbag, je veux que les données à viewbag en "int" de type.
  • vous pouvez utiliser @modèle IEnumerable<yourModel> ensuite une boucle sur elle en utilisant foreach
InformationsquelleAutor riseres | 2012-05-17