首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

新开始学习MVC3 做了个项目,总是抱错,不知道有关问题在那,请

2012-05-04 
新开始学习MVC3 做了个项目,总是抱错,不知道问题在那,请高手指点先将源代码贴上,UserInfo 模型层using Sys

新开始学习MVC3 做了个项目,总是抱错,不知道问题在那,请高手指点
先将源代码贴上,UserInfo 模型层
using System;
using System.Data.Entity;
namespace Mvc.Models
{
  public class UserInfo
  {
  public int UserID { get; set; }
  public string UserName { get; set; }
  public bool UserSex { get; set; }
  public DateTime UserDate { get; set; }
  }
  public class UserDBcontext : DbContext {
   
  public DbSet<UserInfo> DbTest { get; set; }
  }

}

控制层
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Mvc.Models;
namespace Mvc.Controllers
{
  public class UserInfoController : Controller
  {
  //
  // GET: /Use/

  UserDBcontext us = new UserDBcontext();

   
  public ActionResult Index()
  {
   
  var skk = from m in us.DbTest where m.UserID < 100 select m;
  return View(skk.ToList());
   
  }

  }
}
 wiew 显示层

@model IEnumerable<Mvc.Models.UserInfo>

@{
  ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
  @Html.ActionLink("Create New", "Create")
</p>
<table>
  <tr>
  <th>
  UserID
  </th>
  <th>
  UserName
  </th>
  <th>
  UserSex
  </th>
  <th>
  UserDate
  </th>
  <th></th>
  </tr>

@foreach (var item in Model) {
  <tr>
  <td>
  @Html.DisplayFor(modelItem => item.UserID)
  </td>
  <td>
  @Html.DisplayFor(modelItem => item.UserName)
  </td>
  <td>
  @Html.DisplayFor(modelItem => item.UserSex)
  </td>
  <td>
  @Html.DisplayFor(modelItem => item.UserDate)
  </td>
  <td>
  </td>
  </tr>
}

</table>



web.config 文件

<configuration>
  <connectionStrings>
<add name="DbTest"
  connectionString=" Data Source=.;
Initial Catalog=DbTest;Persist Security Info=True;
User ID=sa;Password=1s@u@n* "
  providerName="System.Data.SqlClient" />

  </connectionStrings>

  <appSettings>
  <add key="webpages:Version" value="1.0.0.0"/>
  <add key="ClientValidationEnabled" value="true"/>
  <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
  </appSettings>

  <system.web>
  <compilation debug="true" targetFramework="4.0">
  <assemblies>
  <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />


  <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </assemblies>
  </compilation>

  <authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" />
  </authentication>

  <membership>
  <providers>
  <clear/>
  <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
  enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
  maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
  applicationName="/" />
  </providers>
  </membership>

  <profile>
  <providers>
  <clear/>
  <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
  </providers>
  </profile>

  <roleManager enabled="false">
  <providers>
  <clear/>
  <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
  <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
  </providers>
  </roleManager>

  <pages>
  <namespaces>
  <add namespace="System.Web.Helpers" />
  <add namespace="System.Web.Mvc" />
  <add namespace="System.Web.Mvc.Ajax" />
  <add namespace="System.Web.Mvc.Html" />
  <add namespace="System.Web.Routing" />
  <add namespace="System.Web.WebPages"/>
  </namespaces>
  </pages>
  </system.web>

  <system.webServer>
  <validation validateIntegratedModeConfiguration="false"/>
  <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

  <runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
  <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
  <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
  </dependentAssembly>
  </assemblyBinding>
  </runtime>
</configuration>
   

数据库存在 DBTest 数据库 UserInfo 表结构

UserId int
UserName varchar(50)
UserSex bit 
UserDate datetime 
  请各位大虾们版纳故我解决以下阿。小弟再此感谢了




[解决办法]
顶起来。。
------解决方案--------------------


为 UserInfo 表定义一个主键。

如果是 CodeFirst,
[key]
public int UserID { get; set; }

否则在数据库里面为 UserID 设立主键
[解决办法]
var skk = from m in us.DbTest
select { UName= m.UserName };
你这样看看报错不。
[解决办法]
把那个userid在数据库中定义为主键

热点排行