我实现了一个继承TableServiceEntity的类,该类添加了一些称为UserEntity的属性。

在一个视图中,我想做一个foreach循环来显示所有这样的条目:

@model MembershipUserCollection


如果我做

   @foreach (UserEntity user in Model) {

     <td>

        @Html.DisplayFor(modelItem => user.ID_client)
    </td>
     <td>
        @Html.DisplayFor(modelItem => user.Username)
    </td>
....
....


}


VS2010告诉我不能将对象类型从“ System.Web.Security.MembershipUser”转换为“ AzureTableStorage.UserEntity”。

如果我改变模型

@model UserEntity


告诉我另一个错误..

foreach语句无法对类型为“ UserEntity”的变量进行操作,因为“ UserEntity”不包含“ GetEnumerator”的公共定义

并且UserEntity类具有这样声明的属性。

   public class UserEntity : TableServiceEntity
   {

    public UserEntity(string partitionKey, string rowKey) : base(partitionKey, rowKey)
    {
    }

    public UserEntity() : this(Guid.NewGuid().ToString(), String.Empty)
    {
    }


    public int ID_client { get; set; }
    public String Username { get; set; }
    public String Password { get; set; }
    public String Email { get; set; }


..........
.......
......

(其中Username和其他一些属性与MembershipUser相同。.但不是全部,我增加了3或4个)。

有人可以帮我吗?

谢谢。

最佳答案

您正在做的事情行不通。错误消息告诉您。

这是所有此向导生成的代码的问题,是您不了解其工作方式。因此,当出现故障时,您将不知道如何解决。我建议您了解为什么会遇到错误。有它们的原因。如果您了解原因,解决方案将更加明显。

关于asp.net - Foreach MVC3 MembershipUser,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10384764/

10-11 21:14