尝试使用Asp.NET mvc2应用程序在视图中添加模型和显示数据时出现以下错误。
错误:
' /'中的服务器错误应用
编译错误
描述:编译服务此请求所需的资源时发生错误。请查看以下特定错误详细信息并相应地修改源代码。
编译器错误消息:CS0246:类型或命名空间名称' MvcInputScreen'找不到(你错过了使用指令或汇编引用吗?)
来源错误:
第158行:
第159行:[System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()] 第160行:公共类views_customer_displaycustomer_aspx:System.Web.Mvc.ViewPage,System.Web.SessionState.IRequiresSessionState,System.Web.IHttpHandler { 第161行:
第162行:私有静态bool @__初始化;源文件:c:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files \ root \ 36f3c2d6 \ 5d16a5e9 \ App_Web_displaycustomer.aspx.90494039.kvpkqitq.0.cs Line:160
显示详细的编译器输出:
显示完整编译源:
以下是我的代码文件。
CustomerController.cs:
namespace Mydemo.Controllers
{
public class CustomerController : Controller
{
//
// GET: /Customer/
public ViewResult DisplayCustomer()
{
Customer objCustomer = new Customer();
objCustomer.Id = 12;
objCustomer.CustomerCode = "1001";
objCustomer.Amount = 90.34;
return View("DisplayCustomer", objCustomer);
}
}
}
Customer.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mydemo.Controllers
{
class Customer
{
private string _Code;
private string _Name;
private double _Amount;
public string Code
{
set
{
_Code = value;
}
get
{
return _Code;
}
}
public string Name
{
get
{
return _Name;
}
set
{
_Name = value;
}
}
public double Amount
{
set
{
_Amount = value;
}
get
{
return _Amount;
}
}
public string CustomerCode { get; set; }
public int Id { get; set; }
}
}
DisplayCustomer.aspx:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MvcInputScreen.Models.Customer>" %>
<!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>DisplayCustomer</title>
</head>
<body>
<div>
The customer id is <%= Model.Id %><br />
The customer Code is <%= Model.CustomerCode %><br />
<% if (Model.Amount > 100) {%>
This is a priveleged customer
<% } else{ %>
This is a normal customer
<%} %>
</div>
</body>
</html>
请帮我解决这个错误。由于我也是ASP.NET的新手,我想知道如何在这里设置路由文件,这意味着假设我有3个视图文件(ie-index,create,details)我想要在任何时候设置任何一个文件,如果我只键入http://localhost:port no
该页面将直接来。
答案 0 :(得分:1)
只需查看错误消息:
编译器错误消息:CS0246:找不到类型或命名空间名称“MvcInputScreen”(您是否缺少using指令或程序集引用?)
Line 160: public class views_customer_displaycustomer_aspx : System.Web.Mvc.ViewPage<MvcInputScreen.Models.Customer>, System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler {
错误在第160行,因为您的Customer
- 类不在MvcInputScreen.Models.Customer
命名空间中,而是在Mydemo.Controllers.Customer
中。
只需编辑DisplayCustomer.aspx
中的相应行。
答案 1 :(得分:1)
当您的**S.N SP_Name Table_name**
1 sp_user tbl_account
类位于System.Web.Mvc.ViewPage<MvcInputScreen.Models.Customer>"
命名空间中时,您的页面需要customer
,因此您应将其更改为System.Web.Mvc.ViewPage“。
另外,我建议您更改
MyDemo.Controller
类的命名空间 从Model
到Mydemo.Controllers
。