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