从视图传递到控制器mvc c时,参数始终为空

时间:2016-11-04 18:12:53

标签: c# asp.net-mvc parameter-passing

我正在尝试将页码值传递给控制器​​,以便在该页面上没有值可以获取列表,但参数始终为null。 这是

的代码

查看页面

  @if (Model.First().page == 1)
            {


                <ul class="pagination disabled"><li class="disabled"><a href="#"> Previous </a></li></ul>
                <ul class="pagination" style="float:right;"><li>  <a href="/MovieGenre/Genre/@(Model.First().GenreID)?type=@(Model.First().GenreType)?PageNo=@(Model.First().page + 1)"> Next </a></li></ul>
            }
            else
            {

                <ul class="pagination"><li><a href="#"> Previous </a></li></ul>
                <ul class="pagination" style="float:right;"><li>  <a href="/MovieGenre/Genre/@(Model.First().GenreID)?type=@(Model.First().GenreType)?PageNo=@(Model.First().page + 1)"> Next </a></li></ul>
            }

这是控制器

public ActionResult Genre(int id, string type, int? PageNo)
        {
            if (PageNo == null)
            {
                PageNo = 1;
            }
            var client = new RestClient("https://api.APIProvide.com/3/genre/" + id + "/movies?page=" + PageNo + "&api_key=xxxxxxxxxxxxxxxxxxxxxxxx&language=en-US&include_adult=true&sort_by=created_at.asc");
            var request = new RestRequest(Method.GET);
            request.AddParameter("undefined", "{}", ParameterType.RequestBody);
            IRestResponse response = client.Execute(request);

            string Movies = response.Content;

            JavaScriptSerializer serialize = new JavaScriptSerializer();
            MovieByGenre_GetList_Class objMovieByGenre_GetList_Class = serialize.Deserialize<MovieByGenre_GetList_Class>(Movies);

            List<MovieByGenre_GetList_Class> lstMovieByGenre_GetList_Class = new List<MovieByGenre_GetList_Class>();
            lstMovieByGenre_GetList_Class.Add(objMovieByGenre_GetList_Class);

            List<GenreList_GetList> lstMovies_Genre_List = GetGenreList();
            if (lstMovies_Genre_List.Any())
            {
                objMovieByGenre_GetList_Class.GenreList = lstMovies_Genre_List;
                lstMovieByGenre_GetList_Class.Add(objMovieByGenre_GetList_Class);
            }

            objMovieByGenre_GetList_Class.GenreID = id;
            objMovieByGenre_GetList_Class.GenreType = type;
            return View(lstMovieByGenre_GetList_Class);
        }

提前致谢

1 个答案:

答案 0 :(得分:3)

在视图中,形成的链接将被更改。

<a href="/MovieGenre/Genre/@(Model.First().GenreID)?type=@(Model.First().GenreType)?PageNo=@(Model.First().page + 1)"> Next </a>

将更改为

<a href="/MovieGenre/Genre/@(Model.First().GenreID)?type=@(Model.First().GenreType)&PageNo=@(Model.First().page + 1)"> Next </a>

提示:有效的查询字符串必须以“?”开头并且需要使用“&amp;”来指定后续参数。