我开始在.NET中进行开发,但我有一些问题。
我创建了一个将图像上传到Azure的视图。该视图包含在称为文档的控制器中。
我想要在另一个控制器视图中显示此视图。该视图可以完美地单独运行,但是当我尝试引用它时,它给了我一个我仍然不知道如何解决的错误。
这是视图“ Upload.cshtml”
@{
ViewBag.Title = "Upload";
}
<p>
@using (Html.BeginForm("Upload", "Documento", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" id="fileToUpload" name="image" />
<input type="submit" id="btnSubmit" value="Upload" />
}
</p>
<ul style="list-style-type: none; padding: 0;">
@foreach (var item in Model)
{
<li>
<img src="@item" alt="images" width="100" height="100" />
<a id="@item" href="#" onclick="deleteImage('@item');">Delete</a>
</li>
}
</ul>
<script type="text/jscript">
//get file size
function deleteImage(item) {
try {
var url = "/Documento/DeleteImage";
$.post(url, { Name: item }, function (data) {
window.location.href = "/Documento/Upload";
alert(data);
});
}
catch (e) {
alert("Error is :" + e);
}
}
</script>
这就是我尝试从另一个Controller Index视图调用视图的方式:
@RenderPage("~/Views/Documento/Upload.cshtml");
@RenderBody();
我得到的错误是由于“ @foreach(模型中的var项目)”句子。
我应该怎么做?
您似乎在视图顶部缺少模型。像这样:
@model MyProject.Models.MyModel
其次,您的foreach循环需要IEnumerable类型。您的模型是IEnumerable还是@ Model.SomeIEnumerable?
最后,循环中的@item应该具有img src和anchor id属性的单独属性。
您显示的代码不完整或模型出现问题。这是如何做我认为您想要的任何示例。
查看模型
public class MyModel
{
public string ProductId {get;set;}
public string ProductSrc {get;set;}
}
视图
@model IEnumerable<MyModel>
<ul>
@foreach(item in Model)
{
<li>
<img src="@item.ProductSrc" />
<a id="@item.ProductId">Delete</>
</li>
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句