Razor DisplayName用于不显示数据MVC 5

Razor DisplayName用于不显示数据MVC 5,razor,asp.net-mvc-5,Razor,Asp.net Mvc 5,正如主题所说,DisplayNameFor并没有显示我的数据——然而,TextboxFor却显示了??为什么 我已经添加了我的控制器(正在调用该方法)、模型(带有一部分属性,以避免页面过多地被淹没,从而让您了解我的模型是什么样子)和我的视图 非常感谢您的帮助 Controller: public ActionResult ProjectInformation(ProjectDetailsViewModels model, int ProjectID) { if(!Mod

正如主题所说,DisplayNameFor并没有显示我的数据——然而,TextboxFor却显示了??为什么

我已经添加了我的
控制器
(正在调用该方法)、
模型
(带有一部分属性,以避免页面过多地被淹没,从而让您了解我的模型是什么样子)和我的
视图

非常感谢您的帮助

Controller:

public ActionResult ProjectInformation(ProjectDetailsViewModels model, int ProjectID)
    {
        if(!ModelState.IsValid)
        {
            return View(model);
        }

        var PIVM = new ProjectInformationViewModel();

        using (RexusTradingEntities RTE = new RexusTradingEntities())
        {
            var ProjectDropDownList = (from PI in RTE.ProjectInformations.ToArray()
                               orderby PI.Project_Name
                               select new SelectListItem
                               {
                                   Text = PI.Project_Name.ToString(),
                                   Value = PI.pkiProjectID.ToString(),
                                   Selected = true
                               }).ToArray();
            //For DropDownList
            PIVM.SelectedProjectID = ProjectID;

            //Adding LIST for DropDownList
            PIVM.ProjectList = ProjectDropDownList;

            var ProjectData = from PIV in RTE.ProjectInformations
                              where PIV.pkiProjectID == ProjectID
                              select new
                              {
                                  PIV.Designer_Name,
                                  PIV.Project_Name,
                                  PIV.Project_Type,
                                  PIV.Pump_Head,
                                  PIV.Reservoir_Start_Height,
                                  PIV.Reservoir_Discharge_Height,
                                  PIV.Fluid_Type,
                                  PIV.Flow_Rate,
                                  PIV.Filling_Velocity,
                                  PIV.Gravitational_Acceleration,
                                  PIV.Temperature,
                                  PIV.Elevation_Vacuum_Pressure,
                                  PIV.Pipe_Material,
                                  PIV.Estimated_Pipe_Rupture,
                                  PIV.Pipe_Absolute_Roughness,
                                  PIV.Pipe_Absolute_Roughness_Override,
                                  PIV.Allowable_Negative_Differential_Pressure,
                                  PIV.Air_Valve_Maximum_Spacing,
                                  PIV.Standardise_AirValve_Size,
                                  PIV.Standardise_Air_Valve_Pressure_Class
                              };

            //ProjectInformation PIV = new ProjectInformation();
            foreach (var pd in ProjectData)
            {
                PIVM.Designer_Name = pd.Designer_Name;
                PIVM.Project_Name = pd.Project_Name;
                PIVM.Project_Type = pd.Project_Type;
                PIVM.Pump_Head = Convert.ToDecimal(pd.Pump_Head);
                PIVM.Reservoir_Start_Height = Convert.ToDecimal(pd.Reservoir_Start_Height);
                PIVM.Reservoir_Discharge_Height = Convert.ToDecimal(pd.Reservoir_Discharge_Height);
                PIVM.Fluid_Type = pd.Fluid_Type;
                PIVM.Flow_Rate = Convert.ToDecimal(pd.Flow_Rate);
                PIVM.Filling_Velocity = Convert.ToDecimal(pd.Filling_Velocity);
                PIVM.Gravitational_Acceleration = Convert.ToDecimal(pd.Gravitational_Acceleration);
                PIVM.Temperature = Convert.ToDecimal(pd.Temperature);
                PIVM.Elevation_Vacuum_Pressure = Convert.ToDecimal(pd.Elevation_Vacuum_Pressure);
                PIVM.Pipe_Material = pd.Pipe_Material;
                PIVM.Estimated_Pipe_Rupture = Convert.ToDecimal(pd.Estimated_Pipe_Rupture);
                PIVM.Pipe_Absolute_Roughness = Convert.ToDecimal(pd.Pipe_Absolute_Roughness);
                PIVM.Pipe_Absolute_Roughness_Override = Convert.ToDecimal(pd.Pipe_Absolute_Roughness_Override);
                PIVM.Allowable_Negative_Differential_Pressure = pd.Allowable_Negative_Differential_Pressure;
                PIVM.Air_Valve_Maximum_Spacing = Convert.ToDecimal(pd.Air_Valve_Maximum_Spacing);
                PIVM.Standardise_AirValve_Size = Convert.ToDecimal(pd.Standardise_AirValve_Size);
                PIVM.Standardise_Air_Valve_Pressure_Class = Convert.ToDecimal(pd.Standardise_Air_Valve_Pressure_Class);
            }


            //PIVM.fkUserID =
            //PIVM.DateTimeStamp = DateTime.Now;

        }

        return View(PIVM);
   }
我的模型:

Model:

public class ProjectInformationViewModel
{
    [Key]
    public int pkiProjectID { get; set; }
    //Basic Information       
    [Required]
    [Display(Name = "Designer Name:")]
    public string Designer_Name { get; set; }
    [Required]
    [Display(Name = "Project Name:")]
    public string Project_Name { get; set; }
    [Required]
    [Display(Name = "Project Type:")]
    public string Project_Type { get; set; }
}
我的看法如下:

View:

@model AirFlo_Size_Programme.Models.ProjectInformationViewModel

@{
ViewBag.Title = "Project Information";
Layout = "~/Views/Shared/_Layout.cshtml";
//SelectListItem[] DesignerList = ViewBag.DesignerList;
SelectListItem[] ProjectList = ViewBag.ProjectList;
}

<h2 style="text-align:center">@ViewBag.Title</h2>

@Html.AntiForgeryToken()

<p>
@Html.ActionLink("Create New", "Create")
</p>
@using (Html.BeginForm("ProjectInformation", "ProjectInformation"))
{

<div>
<hr />
<h4 style="font-style:italic">Basic Information</h4>
<hr />

<dl class="dl-horizontal">
    <dt>
        @Html.DisplayNameFor(m => m.Project_Name)
    </dt>
    <dt>
        @Html.DisplayNameFor(m => m.Designer_Name)
        @Html.TextBoxFor(m => m.Designer_Name, new { @class = "form-control", @disabled = "true" })
    </dt>
    <dt>
        @Html.DisplayNameFor(m => m.Project_Type)
    </dt>
    <dt>
        @Html.DisplayNameFor(m => m.Pump_Head)
    </dt>
    <dt>
        @Html.DisplayNameFor(m => m.Reservoir_Start_Height)
    </dt>
    <dt>
        @Html.DisplayNameFor(m => m.Reservoir_Discharge_Height)
    </dt>
    <dt>
        @Html.DisplayNameFor(model => model.Fluid_Type)
    </dt>
    <dt>
        @Html.DisplayNameFor(model => model.Flow_Rate)
    </dt>
    <dt>
        @Html.DisplayNameFor(model => model.Filling_Velocity)
    </dt>
    <dt>
        @Html.DisplayNameFor(model => model.Gravitational_Acceleration)
    </dt>
    <dt>
        @Html.DisplayNameFor(model => model.Temperature)
    </dt>
    <dt>
        @Html.DisplayNameFor(model => model.Elevation_Vacuum_Pressure)
    </dt>
    <dt>
        @Html.DisplayNameFor(model => model.Pipe_Material)
    </dt>
    <dt>
        @Html.DisplayNameFor(model => model.Estimated_Pipe_Rupture)
    </dt>
    <dt>
        @Html.DisplayNameFor(model => model.Pipe_Absolute_Roughness)
    </dt>
    <dt>
        @Html.DisplayNameFor(model => model.Pipe_Absolute_Roughness_Override)
    </dt>
    <dt>
        @Html.DisplayNameFor(model => model.Allowable_Negative_Differential_Pressure)
    </dt>
    <dt>
        @Html.DisplayNameFor(model => model.Air_Valve_Maximum_Spacing)
    </dt>
    <dt>
        @Html.DisplayNameFor(model => model.Standardise_AirValve_Size)
    </dt>
    <dt>
        @Html.DisplayNameFor(model => model.Standardise_Air_Valve_Pressure_Class)
    </dt>
</dl>
</div>
 }
<p>
     @Html.ActionLink("Edit", "Edit", new { id = Model.pkiProjectID }) |
     @Html.ActionLink("Back to List", "Index")
 </p>
视图:
@型号Airblo\u尺寸\u程序.Models.projectInformation视图模型
@{
ViewBag.Title=“项目信息”;
Layout=“~/Views/Shared/_Layout.cshtml”;
//选择ListItem[]DesignerList=ViewBag.DesignerList;
选择ListItem[]项目列表=ViewBag.ProjectList;
}
@视图包。标题
@Html.AntiForgeryToken()

@ActionLink(“新建”、“创建”)

@使用(Html.BeginForm(“ProjectInformation”、“ProjectInformation”)) {
基本信息
@DisplayNameFor(m=>m.Project\u Name) @DisplayNameFor(m=>m.Designer\u Name) @TextBoxFor(m=>m.Designer_Name,新的{@class=“form control”,@disabled=“true”}) @DisplayNameFor(m=>m.Project\u类型) @Html.DisplayNameFor(m=>m.Pump\u头) @DisplayNameFor(m=>m.reservator\u Start\u Height) @Html.DisplayNameFor(m=>m.reservator\u排量\u高度) @DisplayNameFor(模型=>model.Fluid\u类型) @Html.DisplayNameFor(model=>model.Flow\u Rate) @DisplayNameFor(model=>model.Filling\u-Velocity) @DisplayNameFor(模型=>model.U加速度) @DisplayNameFor(model=>model.Temperature) @Html.DisplayNameFor(模型=>model.Elevation\u真空\u压力) @Html.DisplayNameFor(model=>model.Pipe\u材质) @DisplayNameFor(模型=>model.Estimated\u管道破裂) @Html.DisplayNameFor(模型=>model.Pipe\u绝对粗糙度) @DisplayNameFor(model=>model.Pipe\u绝对值\u粗糙度\u覆盖) @DisplayNameFor(型号=>model.允许的负压差) @Html.DisplayNameFor(型号=>model.Air\u阀门\u最大间距) @Html.DisplayNameFor(型号=>model.Standardize\u空气阀\u尺寸) @Html.DisplayNameFor(型号=>model.Standardize\u空气阀\u压力\u等级) } @ActionLink(“编辑”,“编辑”,新的{id=Model.pkid})| @ActionLink(“返回列表”、“索引”)


DisplayNameFor
用于标签;除非您在模型中的属性上有一个
DisplayNameAttribute
,否则它的输出应该是属性名称,例如
Project\u name
。如果要显示属性值,则需要
DisplayFor

DisplayNameFor
用于标签;除非您在模型中的属性上有一个
DisplayNameAttribute
,否则它的输出应该是属性名称,例如
Project\u name
。如果要显示属性值,则需要
DisplayFor

我对MVC还很陌生,所以我不确定我是否能很好地理解..我想在标签中显示我的数据?我已将我的模型的一部分添加到页面中,以便您可以查看我的模型的外观。您到底想显示什么?当你说“数据”时,我假设你指的是财产的价值。啊,我理解你的意思。我只是不明白它的实际用途。谢谢DisplayNameFor将显示字段的名称,DisplayFor将显示实际值。我对MVC非常陌生,所以我不确定我是否能很好地跟踪。我想在标签中显示我的数据吗?我已将我的模型的一部分添加到页面中,以便您可以查看我的模型的外观。您到底想显示什么?当你说“数据”时,我假设你指的是财产的价值。啊,我理解你的意思。我只是不明白它的实际用途。谢谢DisplayNameFor用于显示字段的名称,DisplayFor将显示实际值。