背景:
所以regionA将加载RegionALabels.xml,它的所有文本都将来自于此。RegionB将加载RegionBLabels.xml,依此类推。
我正在考虑通过构造XML文件来实现这一点,以便它遵循与我的应用程序相同的结构。例如,
<Base> <!--BaseController-->
<Home> <!--HomeController-->
<HomePartial1>
<lblFirstName>text for label with ID lblFirstName</lblFirstName>
<lblLastName>text for label with ID lblLastName</lblLastName>
</HomePartial1>
<HomePartial2>
<!--a bunch of labels-->
</HomePartial2>
</Home>
<Accounts>
<AccountsPartial1>
<!--a bunch of labels-->
</AccountsPartial1>
<AccountsPartial2>
<!--a bunch of labels-->
</AccountsPartial2>
</Accounts>
</Base>
var nodes = from f in
(from res in this.XmlConfiguration.Descendants("Base")
select res).Descendants("Home")
select f;
var HomePartial1Labels = nodes.Elements("HomePartial1").ToList();
问题:
既然如此,基本上我想问的是,在我尝试实现这个方法之前,是否有人能指出这个方法中任何明显的漏洞?以前处理过这个问题的人能提出更好的建议吗?
也
,我有一个特定的要求来呈现带有多个选项卡的局部视图,每个选项卡都必须显示文本;与该选项卡关联的许多结果。例如,我有3个选项卡:
Fund
Company
Group
如果有人进行搜索,选项卡必须显示搜索词为选项卡返回的结果数,因此如果我搜索“JP Morgan”,它们将变为:
Fund (10) // 10 funds contain the name 'JP Morgan'
Company (12) // 12 companies contain the name 'JP Morgan'
Group (15) // 15 groups contain the name 'JP Morgan'
为了在标签文件中包含文本“Fund”、“Company”和“Group”,我还必须提供“(”and“)”,这意味着我必须使用占位符,并在渲染部分时用实际值替换它。因此XML将开始如下所示:
<Base> <!--BaseController-->
<Home> <!--HomeController-->
<Tabs>
<lblFundTab>Funds (#value#)</lblFundTab>
<lblCompanyTab>Company (#value#)</lblCompanyTab>
<lblGroupTab>Group (#value#)</lblGroupTab>
</Tabs>
</Home>
</Base>
但我觉得这会开始看起来很混乱,有点像黑客。有人能提出更好的建议吗?谢谢。