C# 寻呼不起作用

C# 寻呼不起作用,c#,asp.net,entity-framework,asp.net-core,C#,Asp.net,Entity Framework,Asp.net Core,我看到了一个。在一步一步地阅读这篇文章之后,我在适应我的观点时遇到了一些困难。我会尝试更好地解释我自己,同时给出我的一些代码: 控制器: [HttpGet("searchmovie")] public IActionResult Search(string option, string searchmovie, int? page, string currentFilter) { if (search != null) { page = 1; }

我看到了一个。在一步一步地阅读这篇文章之后,我在适应我的观点时遇到了一些困难。我会尝试更好地解释我自己,同时给出我的一些代码:

控制器:

[HttpGet("searchmovie")]
public IActionResult Search(string option, string searchmovie, int? page, string currentFilter)
{
    if (search != null)
    {
        page = 1;
    }
    else
    {
        search = currentFilter;
    }
    SearchViewModel data = new SearchViewModel();
    int pageSize = 4;
    IEnumerable<SearchDataItemViewModel> searchMovie =
    Mapper.Map<IEnumerable<SearchDataItemViewModel>>(_unitOfWork.Movies.GetByString(search));
    var searchMoviesP = Helpers.PaginatedList<SearchDataItemViewModel>.CreateAsync(searchMovie,page ?? 1, pageSize);
    data.SearchMovie = searchMoviesP;
    return View("Search", data));
}
var searchMoviesP = Helpers.PaginatedList<SearchDataItemViewModel>.CreateAsync(searchMovie,page ?? 1, pageSize);
data.SearchMovie = searchMoviesP;
[HttpGet(“searchmovie”)]
公共IActionResult搜索(字符串选项、字符串搜索电影、int?页、字符串currentFilter)
{
如果(搜索!=null)
{
page=1;
}
其他的
{
搜索=当前过滤器;
}
SearchViewModel数据=新的SearchViewModel();
int pageSize=4;
数字搜索电影=
Map(_unitOfWork.Movies.GetByString(搜索));
var searchMoviesP=Helpers.PaginatedList.CreateAsync(searchMovie,第1页,页面大小);
data.SearchMovie=searchMoviesP;
返回视图(“搜索”,数据));
}
这是我的观点:

    • 洛雷米普苏姆
        @foreach(Model.SearchMovie中的var mv) { 如果(mv!=null) {
      • @mv.文本

      • } 其他的 {
      • 没有结果

      • } }
    { //Website.Helpers.PaginatedList PaginatedModel=模型为Website.Helpers.PaginatedList; //这是我尝试过的,但当然存在类型错误: //无法将类型“Website.ViewModels.SearchViewModel”转换为“Website.Helpers.PaginatedList” 字符串prevDisabled=!PaginatedModel.HasPreviousPage?“disabled”:“; …字符串NEXTISABLED=!PaginatedModel.HasNextPage?“已禁用”:“; } 以前的 下一个

  • 关于microsoft文档,你们知道我应该传递给视图的模型组件是什么吗。被困在这里有一段时间了,所以一些帮助者会很感激的,谢谢

    您可以在控制器中执行此操作:

    [HttpGet("searchmovie")]
    public IActionResult Search(string option, string searchmovie, int? page, string currentFilter)
    {
        if (search != null)
        {
            page = 1;
        }
        else
        {
            search = currentFilter;
        }
        SearchViewModel data = new SearchViewModel();
        int pageSize = 4;
        IEnumerable<SearchDataItemViewModel> searchMovie =
        Mapper.Map<IEnumerable<SearchDataItemViewModel>>(_unitOfWork.Movies.GetByString(search));
        var searchMoviesP = Helpers.PaginatedList<SearchDataItemViewModel>.CreateAsync(searchMovie,page ?? 1, pageSize);
        data.SearchMovie = searchMoviesP;
        return View("Search", data));
    }
    
    var searchMoviesP = Helpers.PaginatedList<SearchDataItemViewModel>.CreateAsync(searchMovie,page ?? 1, pageSize);
    data.SearchMovie = searchMoviesP;
    
    这将不起作用,因为
    模型
    搜索视图模型
    。您打算做的是:

    Model.SearchMovie as Website.Helpers.PaginatedList<Website.ViewModels.SearchDataItemViewModel>
    
    Model.SearchMovie作为网站.Helpers.PaginatedList
    

    现在,您正在访问先前将分页列表设置为的模型的相同属性。

    您完全正确@poke。你知道如何让我的下一个和上一个按钮工作吗?因为当我单击next时,{searchmovie}参数将为null。谢谢a loottt:)您应该用按钮传递
    searchmovie
    参数。因此,在按钮中添加一个
    asp route searchmovie=“@Model.searchmovie”
    ,并在
    SearchViewModel
    中添加一个
    searchmovie
    属性,您可以从控制器的
    searchmovie
    参数中设置值。这样,当前值将传递给分页请求。感谢上帝,我也这么认为。无论如何,我渴望有一天能像你一样聪明。非常感谢您的帮助:)@poke