asp.net mvc在aspx页面上出错

时间:2015-01-20 17:05:07

标签: c# asp.net asp.net-mvc tags

我只收到一个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>

1 个答案:

答案 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>
}

在您的控制器中,您将放置逻辑。

在您的模型中,您将为您的对象添加属性。

永远不要操纵视图中的数据。