- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在关注 http://www.mikesdotnetting.com/Article/125/ASP.NET-MVC-Uploading-and-Downloading-Files .在 SQL Server 2008R2 中使用 C# 中的 VS2010、ASP.NET 4.0、MVC3 和 ADO.NET。我收到以下错误消息...
传递到字典中的模型项的类型为“MvcApplication1.Models.FileStore”,但此字典需要类型为“System.Collections.Generic.IEnumerable1[MvcApplication1.Models”的模型项。文件存储]'。
1[MvcApplication1。模型.FileStore]'。源错误:在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。
异常详细信息:System.InvalidOperationException:传入字典的模型项的类型为“MvcApplication1.Models.FileStore”,但此字典需要类型为“System.Collections.Generic.IEnumerable”的模型项
我不太担心我的 Index 方法可能有误。如果有人能告诉我解决这个问题的方法,请提前致谢。
Controller 中的索引方法有如下代码...
FileStore db = new FileStore();
public ActionResult Index()
{
var db = new FileStore();
return View(db);
}
Controller 中的创建方法有以下方法...
public ActionResult Create()
{
foreach (string upload in Request.Files)
{
if (!Request.Files[upload].HasFile()) continue;
string mimeType = Request.Files[upload].ContentType;
Stream fileStream = Request.Files[upload].InputStream;
string fileName = Path.GetFileName(Request.Files[upload].FileName);
int fileLength = Request.Files[upload].ContentLength;
byte[] fileData = new byte[fileLength];
fileStream.Read(fileData, 0, fileLength);
const string connect = @"Server=.\SQLExpress;Database=FileTest;Trusted_Connection=True;";
using (var conn = new SqlConnection(connect))
{
var qry = "INSERT INTO FileStore (FileContent, MimeType, FileName) VALUES (@FileContent, @MimeType, @FileName)";
var cmd = new SqlCommand(qry, conn);
cmd.Parameters.AddWithValue("@FileContent", fileData);
cmd.Parameters.AddWithValue("@MimeType", mimeType);
cmd.Parameters.AddWithValue("@FileName", fileName);
conn.Open();
cmd.ExecuteNonQuery();
}
}
return View();
}
GetFile 方法有以下代码...
public FileContentResult GetFile(int id)
{
SqlDataReader rdr; byte[] fileContent = null;
string mimeType = ""; string fileName = "";
const string connect = @"Server=.\SQLExpress;Database=FileTest;Trusted_Connection=True;";
using (var conn = new SqlConnection(connect))
{
var qry = "SELECT FileContent, MimeType, FileName FROM FileStore WHERE ID = @ID";
var cmd = new SqlCommand(qry, conn);
cmd.Parameters.AddWithValue("@ID", id);
conn.Open();
rdr = cmd.ExecuteReader();
if (rdr.HasRows)
{
rdr.Read();
fileContent = (byte[])rdr["FileContent"];
mimeType = rdr["MimeType"].ToString();
fileName = rdr["FileName"].ToString();
}
}
return File(fileContent, mimeType, fileName);
}
Index.cshtml 有如下代码...
@model IEnumerable<MvcApplication1.Models.FileStore>
最佳答案
您的 View 被强类型化为 FileStore 集合(例如列表)。如果你只发送一个对象,你应该改变它。否则先创建一个集合,将对象添加到其中,然后将其发送到 View 。
如果您要使用第一种方法,请查看索引 View 中的第一行。应该有这样的语句。
Inherits="System.Web.Mvc.ViewPage<IEnumerable<MvcApplication1.Models.FileStore>>
我从我的观点来看,它在 MVC 3 中可能有所不同。它声明 View 是强类型的 FileStore 集合。更改它
Inherits="System.Web.Mvc.ViewPage<MvcApplication1.Models.FileStore>
更新:
您正在使用 Razor。我对此不熟悉,但您应该更改模型行:
@model MvcApplication1.Models.FileStore
或
@model IEnumerable<MvcApplication1.Models.FileStore>
如果您需要发送多个对象,请在操作方法中创建一个列表,添加您想要的任何内容或让存储库为您获取它们。
List<FileStore> fileStores=new List<FileStore>();
FileStore fileStore=new FileStore();
fileStores.Add(fileStore);
return View(fileStores);
或
var someFileStores=repository.GetSomeStores();
return View(someFileStores);
关于asp.net - 但是这个字典需要一个类型为 'System.Collections.Generic.IEnumerable` 1[MvcApplication1.Models.FileStore]' 的模型项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5708037/
本文整理了Java中com.ohmdb.filestore.ZonesImpl类的一些代码示例,展示了ZonesImpl类的具体用法。这些代码示例主要来源于Github/Stackoverflow/M
我正在尝试找到一种方法来检测何时将闪存驱动器插入我的计算机。到目前为止,我找到的解决方案是轮询 FileSystem#getFileStores进行更改。这确实告诉我何时插入了闪存驱动器,但据我所知,
编辑:我知道 FileSystem.getDefault() 会给我在我原来的问题陈述中寻找的东西。我正在尝试使用 FileSystem.getFileSystem(URI) 获取任何给定路径的文件系
我试图将我的应用程序加载到 Weblogic11g 中,并且我在队列中向它发送许多 JMS 消息。 但是,FileStore 在大约 20K 条消息和最大大小为 647,169 ko 时出现 OOE
我正在使用 Crypto++ 库对文件进行哈希处理。我在内存位置 0x012FED64 处收到错误 FileStore::OpenErr: FileSource file(filename.c_str
本文整理了Java中com.ohmdb.filestore.ZonesImpl.hasFree()方法的一些代码示例,展示了ZonesImpl.hasFree()的具体用法。这些代码示例主要来源于Gi
本文整理了Java中com.ohmdb.filestore.ZonesImpl.release()方法的一些代码示例,展示了ZonesImpl.release()的具体用法。这些代码示例主要来源于Gi
本文整理了Java中com.ohmdb.filestore.ZonesImpl.expand()方法的一些代码示例,展示了ZonesImpl.expand()的具体用法。这些代码示例主要来源于Gith
本文整理了Java中com.ohmdb.filestore.ZonesImpl.cardinality()方法的一些代码示例,展示了ZonesImpl.cardinality()的具体用法。这些代码示
本文整理了Java中com.ohmdb.filestore.ZonesImpl.occupied()方法的一些代码示例,展示了ZonesImpl.occupied()的具体用法。这些代码示例主要来源于
本文整理了Java中com.ohmdb.filestore.ZonesImpl.recycle()方法的一些代码示例,展示了ZonesImpl.recycle()的具体用法。这些代码示例主要来源于Gi
我正在使用 saveAsTextFile() 将 Spark 作业的结果存储在文件夹 dbfs:/FileStore/my_result 中。 我可以使用 Web 浏览器访问不同的“part-xxxx
我已将 *.zip 文件夹上传到我的 Azure Datacricks FileStore: 现在我想解压该文件夹并将其存储在 FileStore 上:dbfs:/FileStore/tables/r
我正在使用 Redis(使用 redis-store)作为我的 Rails 4 应用程序的缓存存储。但是,如果我终止我的 redis-server,应用程序会出错(Redis not found 错误
通常我使用下面的 URL 从 Databricks DBFS FileStore 下载文件到我的本地计算机。 *https:///fileStore/?o=* 但是,这次没有下载文件,而是将 URL
我正在尝试使用SQL Server 2005 Analysis Services处理一个维度。这在过去一直有效,没有问题,但最近失败了。 维度是分层的,使用单个表中的 4 列(整个多维数据集使用单个表
我是 Databricks 的新手,需要帮助将 pandas 数据帧写入 databricks 本地文件系统。 我在谷歌中进行了搜索,但找不到任何与此类似的案例,也尝试了databricks(附后)提
尝试安装组件时收到以下错误。 奇怪的是原因似乎是:Caused by: java.lang.NoClassDefFoundError: java/nio/fiìe/FileStore 用这些口音写的。
通常我使用下面的 URL 将文件从 Databricks DBFS FileStore 下载到我的本地计算机。 *https:///fileStore/?o=* 但是,这次文件没有下载,URL 而是将
我正在从Firebase数据库中获取BaseObjects列表。 这很好。 在这些对象上是一个CustomObjects数组。 当返回BaseObjects列表时,我也想将自定义对象转换为Custom
我是一名优秀的程序员,十分优秀!