Razor DisplayName用于不显示数据MVC 5
正如主题所说,DisplayNameFor并没有显示我的数据——然而,TextboxFor却显示了??为什么 我已经添加了我的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
控制器
(正在调用该方法)、模型
(带有一部分属性,以避免页面过多地被淹没,从而让您了解我的模型是什么样子)和我的视图
非常感谢您的帮助
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将显示实际值。