Asp.net mvc ASP.NET通过Razor显示相关的详细记录

Asp.net mvc ASP.NET通过Razor显示相关的详细记录,asp.net-mvc,razor,Asp.net Mvc,Razor,我是asp.net和c#的新手,我一直在尝试使用MVC3在php中复制和应用程序,从同一个数据库生成代码。我对在“详细信息”视图中显示详细信息记录有疑问 namespace mvcapapplication5.Models { [DataContract(IsReference=true)] [KnownType(typeof(masterDomain))] [KnownType(typeof(masterFIP))] [KnownType(typeof(masterSFPF))] [知识类型(

我是asp.net和c#的新手,我一直在尝试使用MVC3在php中复制和应用程序,从同一个数据库生成代码。我对在“详细信息”视图中显示详细信息记录有疑问

namespace mvcapapplication5.Models
{
[DataContract(IsReference=true)]
[KnownType(typeof(masterDomain))]
[KnownType(typeof(masterFIP))]
[KnownType(typeof(masterSFPF))]
[知识类型(类型(RGCountriesServed))]
[KnownType(typeof(rgKeyword))]
[知识类型(类型(rgServicesProvided))]
公共部分类组织
{
公共组织()
{
this.rgCountiesServeds=new HashSet();
this.rgKeywords=new HashSet();
this.rgServicesProvideds=new HashSet();
}
[数据成员]
公共整数组织{get;set;}
[数据成员]
公共字符串组织{get;set;}
[数据成员]
公共字符串CONTACT_PERSON{get;set;}
[数据成员]
公用字符串电话号码{get;set;}
[数据成员]
公共字符串传真号码{get;set;}
[数据成员]
公共字符串电子邮件地址{get;set;}
[数据成员]
公共字符串网站{get;set;}
[数据成员]
公共字符串STREET_1{get;set;}
[数据成员]
公共字符串STREET_2{get;set;}
[数据成员]
公共字符串CITY{get;set;}
[数据成员]
公共字符串邮政编码{get;set;}
[数据成员]
公共字符串country{get;set;}
[数据成员]
公共字符串FIPS{get;set;}
[数据成员]
公共字符串邮件地址{get;set;}
[数据成员]
公共可为空的SFPF{get;set;}
[数据成员]
公共可空域{get;set;}
[数据成员]
公共虚拟主域主域{get;set;}
[数据成员]
公共虚拟masterFIP masterFIP{get;set;}
[数据成员]
公共虚拟主机sfpf masterSFPF{get;set;}
[数据成员]
公共虚拟ICollection RGCountriesServeds{get;set;}
[数据成员]
公共虚拟ICollection关键字{get;set;}
[数据成员]
公共虚拟ICollection rgServicesProvideds{get;set;}
}
视图代码

@model MvcApplication5.Models.rgOrganization

@{
  ViewBag.Title =  @Html.DisplayFor(model => model.ORGANIZATION);
}
@section Scripts { 
<script type="text/javascript" 
src="http://maps.google.com/maps/api/js?sensor=false"></script> 
}
<h2>@Html.DisplayFor(model => model.ORGANIZATION)</h2>
<h3><span id="mailing_address">
    @Html.DisplayFor(model => model.MAILING_ADDRESS)
</span></h3>
<fieldset>
    <legend> @Html.DisplayFor(model => model.COUNTY)  COUNTY</legend>

    <div class="display-field">
        <strong>@Html.DisplayFor(model => model.ORGANIZATION)</strong>
    </div>


    <div class="display-field">
        @Html.DisplayFor(model => model.CONTACT_PERSON)
    </div>
    <!-- would like to display services provided here -->
</fieldset>
@model mvcapapplication5.Models.rgOrganization
@{
ViewBag.Title=@Html.DisplayFor(model=>model.ORGANIZATION);
}
@节脚本{
}
@DisplayFor(model=>model.ORGANIZATION)
@DisplayFor(model=>model.MAILING\u地址)
@DisplayFor(model=>model.country)country
@Html.DisplayFor(model=>model.ORGANIZATION)
@DisplayFor(model=>model.CONTACT\u PERSON)

我的问题是如何通过Razor访问“RGCountriesServed”和“RGServicesProvided”?

它们似乎是您模型的成员

因此,您可以按以下方式访问集合:

model.rgServicesProvided
要遍历集合,请执行以下操作:

@foreach (var serv in model.ServicesProvided) {
  Service is @serv.ToString()<br/>
}
@foreach(model.ServicesProvided中的var serv){
服务是@serv.ToString()
}

替换serv.ToString()使用您想要显示的任何属性。

如果我理解您的要求,您可以访问RGCountiedServed和RGServicesProvided,就像rgOrganization的其他属性一样。它们是您模型的集合和属性,因此您可以在视图中循环使用它们,或者为每个属性创建下拉列表。例如。,

@Html.DropDownList("DropDownCounties", Model.rgCountiesServeds)

关于您的视图,根本不清楚什么类型的
rgOrganization
表示。您应该显示视图代码。是的,我在生成的“编辑”脚本中看到了下拉示例。我只想在纯文本版本中列出它们。我从上面的海报中尝试了类似的方法。我从海报中尝试了类似的方法在@foreach(Model.CountiesServeds中的var serv){@serv.masterFIPS.countyName
之上我尝试过这样的方法。实际的服务名称存储在另一个表中,组织可以提供许多服务,在rgServicesProvided表中,是包含描述的masterServices表的外键。@foreach(Model.rgServicesProvideds中的var serv){@serv.masterService.service
}这对您有用吗?问题很大程度上取决于您的模型类以及如何填充它们。您是否使用ORM?如果是,是哪一个?
@Html.DropDownList("DropDownCounties", Model.rgCountiesServeds)