gpt4 book ai didi

C# .Net MVC 非静态字段、方法或属性需要对象引用

转载 作者:行者123 更新时间:2023-11-30 14:40:05 27 4
gpt4 key购买 nike

我是C#的大三学生,我无法使用搜索找到解决方案

我有一个数据库模型(EDM)

我在模型文件夹中创建了一个类文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace photostorage.Models
{
public class PhotosRepository
{
private fotostorageEntities db = new fotostorageEntities();

public IEnumerable<photos> FindUserPhotos(string userid)
{
return from m in db.photos
select m;
}

public photos GetPhotosById(int photoid)
{
return db.photos.SingleOrDefault(d => d.id == photoid);
}
}
}

下一个为这个模型创建了一个 Controller :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using photostorage.Models;

namespace photostorage.Controllers
{
public class PhotosController : Controller
{
//
// GET: /Photos/
public ActionResult ViewPhoto(string userid, int photoid)
{
photos CurrentPhoto = PhotosRepository.GetPhotosById(photoid);
if (CurrentPhoto == null)
return View("NotFound");
else
return View("ViewPhoto", CurrentPhoto);
}
}
}

在结果中出现错误:非静态字段、方法或属性 photostorage.Models.PhotosRepository.GetPhotosById(int) 需要对象引用;

数据库中的表名 - 照片EDM connectionStrings 名称 - fotostorageEntities

需要帮助,因为我真的不知道解决方案。

最佳答案

您当前正在调用 GetPhotosById 作为静态方法。您需要创建 PhotosRepository 的实例。

    public ActionResult ViewPhoto(string userid, int photoid)
{
PhotosRepository photosRepository = new PhotosRepository();
photos CurrentPhoto = photosRepository.GetPhotosById(photoid);
if (CurrentPhoto == null)
return View("NotFound");
else
return View("ViewPhoto", CurrentPhoto);
}

关于C# .Net MVC 非静态字段、方法或属性需要对象引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5782783/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com