2013-07-10 35 views
0

我有一个MVC 3应用程序,我创建了一个.aspx页面,我正在尝试将其纳入到我的项目中。在.aspx页面看起来是这样的:无法在我的MVC 3 Web应用程序中查看.aspx页面

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Admin.aspx.cs" Inherits="TabletWebApp.Views.Home.Admin" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
      AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" 
      DataKeyNames="ID" DataSourceID="SqlDataSource1" ForeColor="#333333" 
      GridLines="None" onselectedindexchanged="GridView1_SelectedIndexChanged"> 
      <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> 
      <Columns> 
       <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" 
        ReadOnly="True" SortExpression="ID" /> 
       <asp:BoundField DataField="machineName" HeaderText="machineName" 
        SortExpression="machineName" /> 
      </Columns> 
      <EditRowStyle BackColor="#999999" /> 
      <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> 
      <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> 
      <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> 
      <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> 
      <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> 
      <SortedAscendingCellStyle BackColor="#E9E7E2" /> 
      <SortedAscendingHeaderStyle BackColor="#506C8C" /> 
      <SortedDescendingCellStyle BackColor="#FFFDF8" /> 
      <SortedDescendingHeaderStyle BackColor="#6F8DAE" /> 
     </asp:GridView> 
     <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
      ConnectionString="<%$ ConnectionStrings:TabletWebAppConnectionString %>" 
      SelectCommand="SELECT [ID], [machineName] FROM [MachineNames] ORDER BY [ID]"></asp:SqlDataSource> 
    </div> 
    <asp:GridView ID="GridView2" runat="server" AllowPaging="True" 
     AllowSorting="True" AutoGenerateColumns="False" CellPadding="4" 
     DataKeyNames="ID" DataSourceID="SqlDataSource2" ForeColor="#333333" 
     GridLines="None" onselectedindexchanged="GridView2_SelectedIndexChanged"> 
     <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> 
     <Columns> 
      <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" 
       ReadOnly="True" SortExpression="ID" /> 
      <asp:BoundField DataField="parameterName" HeaderText="parameterName" 
       SortExpression="parameterName" /> 
      <asp:BoundField DataField="machineID" HeaderText="machineID" 
       SortExpression="machineID" /> 
      <asp:BoundField DataField="minVal" HeaderText="minVal" 
       SortExpression="minVal" /> 
      <asp:BoundField DataField="maxVal" HeaderText="maxVal" 
       SortExpression="maxVal" /> 
     </Columns> 
     <EditRowStyle BackColor="#999999" /> 
     <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> 
     <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> 
     <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> 
     <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> 
     <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> 
     <SortedAscendingCellStyle BackColor="#E9E7E2" /> 
     <SortedAscendingHeaderStyle BackColor="#506C8C" /> 
     <SortedDescendingCellStyle BackColor="#FFFDF8" /> 
     <SortedDescendingHeaderStyle BackColor="#6F8DAE" /> 
    </asp:GridView> 
    <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
     ConnectionString="<%$ ConnectionStrings:TabletWebAppConnectionString %>" 
     SelectCommand="SELECT [ID], [parameterName], [machineID], [minVal], [maxVal] FROM [MachineParameters] ORDER BY [ID], [machineID], [parameterName]"> 
    </asp:SqlDataSource> 
    </form> 
</body> 
</html> 

,并在控制器中,我简单地调用此:

public ActionResult Admin() 
     { 
      return View(); 
     } 

但是当我尝试查看网页出现错误“,在“视图〜 /Views/Home/Admin.aspx'必须从ViewPage,ViewPage,ViewUserControl或ViewUserControl派生。“!

Picture of resulting error message

我一直在四处寻找谷歌,发现这个Using the ASP.NET MVC source code to debug your app

,但我的项目得到了构建错误,一旦我删除了system.web.mvc参考。有任何想法吗?

回答

0

您正在使用此页面的WebForms,而不是MVC,因此View()将不起作用。在您的应用中使用WebForms页面是完全合法的,但您无法使用MVC方式。

看来你不能在你的Views目录中放置一个WebForms页面,即使你可以,你也不应该这样做。你需要把它放在别的地方在你的Web应用程序 - 让我们说/HomePages

然后,你只需要做一个直线上升的重定向,如:

public ActionResult Admin() { 
    return Redirect("~/HomePages/Admin.aspx"); 
} 
+0

刚搬进到一个新的文件夹,它像一个魅力工作,谢谢! – user2569124

相关问题