asp.net aspx 页面上的 mvc 错误
asp.net mvc Error on aspx page
我遇到了唯一的 asp.net 运行时错误 "content controls are allowed directly in a content page that contains content controls."
<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>
"content controls are allowed directly in a content page that contains
content controls."
您收到此错误是因为您已将服务器控件添加到视图中:
<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>
}
在您的控制器中放置逻辑。
在您的模型中,您将为您的对象放置属性。
切勿在您的视图中操作数据。
我遇到了唯一的 asp.net 运行时错误 "content controls are allowed directly in a content page that contains content controls."
<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>
"content controls are allowed directly in a content page that contains content controls."
您收到此错误是因为您已将服务器控件添加到视图中:
<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>
}
在您的控制器中放置逻辑。
在您的模型中,您将为您的对象放置属性。
切勿在您的视图中操作数据。