0

私は次のコントロールアクションを持っています:

public ActionResult List(ListPostViewModel data)
{
     return View(data);
}

ViewModelは次のようになります:

public class ListPostViewModel
    {
        public ListPostViewModel()
        {
            PLS = new PostListSettings();
        }

        public PostListSettings PLS;
    }

そしてこれはViewModelの他の部分です:

public class PostListSettings
    {
        public PostListSettings()
        {
            P = 1;
            CP = int.Parse(ConfigurationManager.AppSettings["AmountOfPostsPerPage"].ToString());
        }

        /// <summary>
        /// Amount of ads on one page
        /// </summary>
        public int CP { get; set; }
        /// <summary>
        /// CurrentPage
        /// </summary>
        public int P { get; set; }
    }

以前のプロジェクトでは、次のようなURLを送信できました:http://MyComputer/?PLS.P=2そしてListPostViewModel.PLS.Pを2に設定しましたが、新しいASP.NET MVC 4ソリューションでは機能しませんか?なんで?

私が得た唯一のルートはデフォルトのものです:

routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Post", action = "List", id = UrlParameter.Optional }
            );
4

1 に答える 1

1

PostListSettings次のようにtoプロパティを変更します。

public class ListPostViewModel
{
    public ListPostViewModel()
    {
        PLS = new PostListSettings();
    }

    public PostListSettings PLS { get; set; }
}
于 2013-01-02T13:41:06.380 に答える