Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc @Html.EditorFor(model=>;model.Username)不显示文本框_Asp.net Mvc_Entity Framework - Fatal编程技术网

Asp.net mvc @Html.EditorFor(model=>;model.Username)不显示文本框

Asp.net mvc @Html.EditorFor(model=>;model.Username)不显示文本框,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我是ASP.NETMVC新手,正在学习它。我使用的是Asp.NETMVC实体框架。在我看来,我称之为“寄存器”,我正在编写以下代码 <div id="Reg_div"> @using (Html.BeginForm("RegisterUser", "Register", FormMethod.Post)) { <table> <tr> <td>

我是ASP.NETMVC新手,正在学习它。我使用的是Asp.NETMVC实体框架。在我看来,我称之为“寄存器”,我正在编写以下代码

<div id="Reg_div"> 
     @using (Html.BeginForm("RegisterUser", "Register", FormMethod.Post))
    {
    <table>

           <tr>

            <td>
                @Html.LabelFor(model => model.Username)
            </td>

            <td>
                @Html.EditorFor(model => model.Username)
            </td>
        </tr>
        <tr>
            <td>
                @Html.LabelFor(model => model.Password)
            </td>
            <td>
                @Html.EditorFor(model => model.Password)
            </td>
        </tr>
        <tr>
            <td>
                @Html.LabelFor(model => model.FName)
            </td>
            <td>
                @Html.EditorFor(model => model.FName)
            </td>
        </tr>
        <tr>
            <td>
                @Html.LabelFor(model => model.LName)
            </td>
            <td>
                @Html.EditorFor(model => model.LName)
            </td>
        </tr>
        <tr>
            <td>
                @Html.LabelFor(model => model.Address)
            </td>
            <td>
                @Html.EditorFor(model => model.Address)
            </td>
        </tr>
        <tr>
            <td>
                @Html.LabelFor(model => model.Email)
            </td>
            <td>
                @Html.EditorFor(model => model.Email)
            </td>
        </tr>

        <tr>

            <td>
                <input type="submit" name="name" value="Register" />
            </td>

        </tr>



    </table>
    }
</div>
}


我得到了一个非常奇怪的错误,用户名的文本框没有显示,但显示了所有其他文本框。我错过什么了吗?请帮助。

从您的
用户\u reg
将您的
用户名定义为
字节[]
,这就是为什么
EditorFor
没有显示文本框的原因, 因为默认情况下,它不知道为
字节[]
显示什么

您有两个选择:

  • byte[]
    更改为类似
    string
    (用户名竟然是byte[]真奇怪)
  • 如果
    byte[]
    是您想要的,那么创建一个EditorTemplate 对于byte(在web上有很多关于它的信息) 或者使用类似于
    TextboxFor
    的东西,明确指定要输出的内容

  • 从您的
    User\u reg
    将您的
    用户名定义为
    byte[]
    ,这就是为什么
    EditorFor
    没有显示文本框的原因, 因为默认情况下,它不知道为
    字节[]
    显示什么

    您有两个选择:

  • byte[]
    更改为类似
    string
    (用户名竟然是byte[]真奇怪)
  • 如果
    byte[]
    是您想要的,那么创建一个EditorTemplate 对于byte(在web上有很多关于它的信息) 或者使用类似于
    TextboxFor
    的东西,明确指定要输出的内容

  • 你能发布你的实体吗?@PM。我可以看到用户名没有ModelBuilder.Entity。但我不知道为什么。“用户注册”的结构如何?你能发布那个班级代码吗?@PM。是因为字节返回类型吗?如果是,那么为什么只有那个字段是byte呢?事实上,我在数据库中检查了Username的数据类型是varbinary。我将把它改为Varchar;)你能发布你的实体吗?@PM。我可以看到用户名没有ModelBuilder.Entity。但我不知道为什么。“用户注册”的结构如何?你能发布那个班级代码吗?@PM。是因为字节返回类型吗?如果是,那么为什么只有那个字段是byte呢?事实上,我在数据库中检查了Username的数据类型是varbinary。我将把它改为Varchar;)
    namespace PTMatrix.Models
    {
    using System;
    using System.Data.Entity;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Linq;
    
    public partial class RegistrationModel : DbContext
    {
        public RegistrationModel()
            : base("name=RegistrationModel")
        {
        }
    
        public virtual DbSet<User_reg> User_reg { get; set; }
    
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<User_reg>()
                .Property(e => e.LName)
                .IsUnicode(false);
    
            modelBuilder.Entity<User_reg>()
                .Property(e => e.FName)
                .IsUnicode(false);
    
            modelBuilder.Entity<User_reg>()
                .Property(e => e.Password)
                .IsUnicode(false);
    
            modelBuilder.Entity<User_reg>()
                .Property(e => e.Address)
                .IsUnicode(false);
    
            modelBuilder.Entity<User_reg>()
                .Property(e => e.Email)
                .IsUnicode(false);
    
            modelBuilder.Entity<User_reg>()
                .Property(e => e.Phone)
                .IsUnicode(false);
        }
    }
    
    namespace PTMatrix.Models
    {
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Data.Entity.Spatial;
    
    public partial class User_reg
    {
        [Key]
        public int Uid { get; set; }
    
        [StringLength(50)]
        public string LName { get; set; }
    
        [StringLength(50)]
        public string FName { get; set; }
    
        [MaxLength(50)]
        public byte[] Username { get; set; }
    
        [StringLength(50)]
        public string Password { get; set; }
    
        [StringLength(50)]
        public string Address { get; set; }
    
        [StringLength(50)]
        public string Email { get; set; }
    
        [StringLength(50)]
        public string Phone { get; set; }
    }