我只收到一个asp.net运行时错误“内容控件直接允许包含内容控件的内容页面。”
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<% using (Html.BeginForm("", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{%>
<input type="file" name="FileUpload" />
<input type="submit" name="Submit" id="Submit" value="Upload" />
<% }
System.Data.DataTable dt = (System.Data.DataTable) (ViewData["dt"]);
if (dt != null && dt.Rows.Count > 0)
{
foreach (System.Data.DataRow dr in dt.Rows)
{
for (int i = 0; i < dt.Columns.Count ; i++)
{%>
<span><%= dr[i].ToString()%></span>
<% }%>
<br/>
<%}
}%>
</asp:Content>
答案 0 :(得分:0)
“内容控件可以直接在包含的内容页面中使用 内容控制。“
您收到此错误是因为您已在视图中添加了服务器控件:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
这需要ViewState(webforms)这样的概念在ASP.net MVC中不存在。
举个例子,你的观点看起来像这样:
查看强>
@model YourProject.YourModel
@using (Html.BeginForm("", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="FileUpload" />
<input type="submit" name="Submit" id="Submit" value="Upload" />
}
@foreach (var item in YourModel.data)
{
<span>@item</span>
}
在您的控制器中,您将放置逻辑。
在您的模型中,您将为您的对象添加属性。
永远不要操纵视图中的数据。