【问题标题】:404 not found error when given enum parameter in URL在 URL 中给定枚举参数时找不到 404 错误
【发布时间】:2021-07-26 04:25:27
【问题描述】:

我想使用枚举作为参数来调用视图。我确保添加了 PublicJournalEntries 视图,但每次运行时都找不到 404 页面。我有另一个控制器设置了一个完美工作的 GetByEnum 方法,不确定是否有我忽略的愚蠢错误。

这是我使用“https://localhost:44399/JournalEntries/PublicJournalEntries?PublicOrPrivate=1”的网址

这是控制器中调用视图的代码

 public ActionResult PublicJournalEntries(PublicOrPrivate publicPost)
        {
            var service = new PublicPostServices();

            var model = service.GetPublicPosts(publicPost);

            return View(model);
        }

这里是 .GetPublicPosts 方法

 public IEnumerable<JournalEntryListItem> GetPublicPosts(PublicOrPrivate publicPost)
        {
            
            using (var ctx = new ApplicationDbContext())
            {
                var query =
                    ctx
                    .JournalEntries
                    .Where(x => x.PublicOrPrivate == publicPost)
                    .Select(
                         x => new JournalEntryListItem
                         {
                             
                             Tag = x.Tag,
                             Prompt = x.Prompt,
                             Content = x.Content,
                             PhotoUrl = x.PhotoUrl,
                             CreatedUtc = x.CreatedUtc
                         }
                        );
                return query.ToArray();

            }
        }

【问题讨论】:

  • 如何创建您的网址。你有视图还是从 ajax 调用?
  • 您试过在参数旁边添加 [FromQuery] 属性吗?

标签: c# linq model-view-controller view enums


【解决方案1】:

你必须修正你的网址:

https://localhost:44399/JournalEntries/PublicJournalEntries?publicPost=1"

还有行动:

public ActionResult PublicJournalEntries([FromQuery] PublicOrPrivate publicPost)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-20
    • 2014-07-30
    • 2012-02-08
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    相关资源
    最近更新 更多