首页
新闻
会员
周边
捐助
园子
·
关注
·
粉丝
·
会员
·
随便看看
·
消息
欢迎,请先
登录
或者
注册
。
登录
/
注册
闪存
博客
发言
小组
投递
新闻
提问
博问
添加
收藏
文库
问题反馈
问题列表
我关注的
我的博问
博问标签
MVC 上传文件后返回值的问题 ? 关于枚举
0
悬赏园豆:
30
[已解决问题]
解决于 2008-08-17 15:01
看了Scott Hanselman的文章,在MVC下上传文件。
原文在
这里
在view页面不以foreach取读。提示如下红色部分错误,我清楚是没有定义枚举。但是他的原文中没有提及,如何处理呢?(我是新手,谢谢大家了)
oreach statement cannot operate on variables of type 'object' because 'object' does not contain a public definition for 'GetEnumerator'
主要代码如下。
public
class
ViewDataUploadFilesResult
{
public
string
Name
{
get
;
set
; }
public
int
Length
{
get
;
set
; }
}
public
class
uploadtestController : Controller
{
public
ActionResult Index()
{
var r
=
new
List
<
ViewDataUploadFilesResult
>
();
foreach
(
string
upItem
in
Request.Files)
{
HttpPostedFileBase postedFile
=
Request.Files[upItem]
as
HttpPostedFileBase;
if
(postedFile.ContentLength
==
0
)
continue
;
string
savedName
=
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, postedFile.FileName);
postedFile.SaveAs(savedName);
r.Add(
new
ViewDataUploadFilesResult()
{ Name
=
savedName, Length
=
postedFile.ContentLength }
);
}
this
.ViewData[
"
upInfo
"
]
=
AppDomain.CurrentDomain.BaseDirectory.ToString();
return
View(
"
Index
"
,r);
}
}
<%
foreach
(ViewDataUploadFilesResult v
in
this
.ViewData.Model)
{
%>
<%=
String.Format(
"
<li>Uploaded: {0} totalling {1} bytes.</li>
"
,v.Name,v.Length)
%>
<%
}
%>
这是上面的这个foreach报错。
[当然如果我对求助描述的不确切,大家留言,我会尽力提供更多信息]
.NET技术
ASP.NET MVC
问题补充:
第二段代码是在view中的。 谢谢 小眼睛老鼠 的关注,var 是对的,string upItem in Request.Files 这个也没有问题。
Mien
|
菜鸟二级
|
园豆:
225
提问于:2008-08-17 09:54
显示帮助
使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。
<
>
分享
分享您的问题
最佳答案
0
<%foreach ( ViewDataUploadFilesResult v in this.ViewData.Model as List<ViewDataUploadFilesResult>) { %> <%= String.Format("<li>Uploaded: {0} totalling {1} bytes.</li>",v.Name,v.Length) %> <%} %>
重典
|
老鸟四级
|
园豆:2442
|
2008-08-17 14:02
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
其他回答(1)
0
没知细看 不过Request.Files这个对象给我的印象应该是个文件对象(这个对象我好像也没用过) 不应该是字符串数组 至于书上的代码不能运行是正常现象 不用奇怪 书上有很多代码都是伪代码 我是学c#的 看你的这段代码 语法上像是c# 但是 我不大记得c#有var 这个类型 还有下面这段 Request.Files[upItem] as HttpPostedFileBase; 明显显示Request.Files应该不是个字符串数组string []
小眼睛老鼠
|
园豆:2731
(老鸟四级)
|
2008-08-17 10:06
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
清除回答草稿
您需要
登录
以后才能回答,未注册用户请先
注册
。