2012-05-22 55 views
0

我是新來的asp.net和c#,我一直試圖複製和應用程序完成在PHP使用MVC3,從同一個數據庫生成的代碼。我有一個關於在我的「詳細信息」視圖中顯示詳細記錄的問題。ASP.NET通過Razor顯示相關的詳細記錄

namespace MvcApplication5.Models 
{ 
[DataContract(IsReference = true)] 
[KnownType(typeof(masterDomain))] 
[KnownType(typeof(masterFIP))] 
[KnownType(typeof(masterSFPF))] 
[KnownType(typeof(rgCountiesServed))] 
[KnownType(typeof(rgKeyword))] 
[KnownType(typeof(rgServicesProvided))] 
public partial class rgOrganization 
{ 
    public rgOrganization() 
    { 
     this.rgCountiesServeds = new HashSet<rgCountiesServed>(); 
     this.rgKeywords = new HashSet<rgKeyword>(); 
     this.rgServicesProvideds = new HashSet<rgServicesProvided>(); 
    } 

    [DataMember] 
    public int orgID { get; set; } 
    [DataMember] 
    public string ORGANIZATION { get; set; } 
    [DataMember] 
    public string CONTACT_PERSON { get; set; } 
    [DataMember] 
    public string PHONE_NUMBER { get; set; } 
    [DataMember] 
    public string FAX_NUMBER { get; set; } 
    [DataMember] 
    public string EMAIL_ADDRESS { get; set; } 
    [DataMember] 
    public string WEBSITE { get; set; } 
    [DataMember] 
    public string STREET_1 { get; set; } 
    [DataMember] 
    public string STREET_2 { get; set; } 
    [DataMember] 
    public string CITY { get; set; } 
    [DataMember] 
    public string ZIP_CODE { get; set; } 
    [DataMember] 
    public string COUNTY { get; set; } 
    [DataMember] 
    public string FIPS { get; set; } 
    [DataMember] 
    public string MAILING_ADDRESS { get; set; } 
    [DataMember] 
    public Nullable<int> SFPF { get; set; } 
    [DataMember] 
    public Nullable<int> DOMAIN { get; set; } 

    [DataMember] 
    public virtual masterDomain masterDomain { get; set; } 
    [DataMember] 
    public virtual masterFIP masterFIP { get; set; } 
    [DataMember] 
    public virtual masterSFPF masterSFPF { get; set; } 
    [DataMember] 
    public virtual ICollection<rgCountiesServed> rgCountiesServeds { get; set; } 
    [DataMember] 
    public virtual ICollection<rgKeyword> rgKeywords { get; set; } 
    [DataMember] 
    public virtual ICollection<rgServicesProvided> 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> 

我的問題是我怎麼通過剃刀訪問「rgCountiesServeds'and 'rgServicesProvideds'?

+0

根據您的觀點,「rgOrganization」代表什麼類型並不十分清楚。你應該顯示你的視圖代碼。 –

回答

1

他們似乎是你的模型的成員。

這樣你就可以訪問集合作爲

model.rgServicesProvided 

要通過收集迭代,做這樣的事情:

@foreach (var serv in model.ServicesProvided) { 
    Service is @serv.ToString()<br/> 
} 

更換serv.ToString()你要顯示的任何財產。

+0

我嘗試過這樣的事情。實際的服務名稱存儲在另一個表中,組織可以提供許多服務,在rgServicesProvided表中是包含描述的masterServices表的外鍵。 @foreach(Model.rgServicesProvideds中的var serv){ @ serv.masterService.service
} – user1410692

+0

這是否適合您?這個問題高度依賴於你的模型類以及你如何填充它們。你在使用ORM嗎?如果是這樣,哪一個? – Samg

0

如果我明白你在問什麼,你可以像rgOrganization的其他屬性一樣訪問rgCountiedServeds和rgServicesProvideds。它們是模型的集合和屬性,因此您可以在View中循環它們或爲每個屬性創建一個下拉列表。即,

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

是的,我看到了生成的「編輯」腳本中的下拉示例。我只是想在純文本版本中列出它們。我從上面的海報中嘗試了類似的東西。 – user1410692

+0

我從上面的海報中試過類似這樣的東西 @foreach(Model.CountiesServeds中的var serv){ @ serv.masterFIPS.countyName
} – user1410692