Wenn Sie den Link speichern gehen, dann würde ich empfehlen, sie mit semantischen Namen zu speichern, etwa so:
var GoogleUrl = "http://www.google.com";
var YahooUrl = "http://www.yahoo.com";
<ul>
<li><a href="<%= link001 %>'>Google</a></li>
<li><a href="<%= link002 %>'>Yahoo</a></li>
etc.
</ul>
jedoch eine noch bessere Lösung, die eine statische Klasse mit Konstanten zu erstellen wäre (oder Nur-Lese-Felder), die Sie dann im Code zugreifen:
public static class Url
{
public const string Google = "http://www.google.com";
public const string Yahoo = "http://www.yahoo.com";
}
die dann würde Ihre Seite Code verursachen wie folgt aussehen:
<ul>
<li><a href="<%= Url.Google %>'>Google</a></li>
<li><a href="<%= Url.Yahoo %>'>Yahoo</a></li>
etc.
</ul>
Dies wäre eine viel bessere Möglichkeit, das Konzept der URLs zu kapseln.
Wie für die Listen, könnte man leicht das Konzept erweitern, etwa so:
public static class UrlList
{
public static IEnumerable<string> List1
{
get
{
// Return the first list:
yield return Url.Google;
yield return Url.Yahoo;
}
}
public static IEnumerable<string> List2
{
get
{
// Return the first list:
yield return Url.Yahoo;
yield return Url.Goggle;
}
}
}
Natürlich können Sie Arrays verwenden könnten die Eigenschaften zu sichern, aber sie sind wandelbar, und im Allgemeinen, für so etwas wie diese , das ist keine gute Sache (eine andere Möglichkeit wäre, noch die Eigenschaft als IEnumerable<string>
aussetzen, sondern eine ReadOnlyCollection<string>
als Träger Feld verwenden und zurückgeben, die die Unveränderlichkeit bewahren würde:
public static class UrlList
{
///<summary>The backing field for <see cref="List1"/>.</summary>
private static readonly ReadOnlyCollection<string> list1 =
new ReadOnlyCollection<string>(new [] {
Url.Google,
Url.Yahoo,
});
public static IEnumerable<string> List1
{ get { return list1; } }
///<summary>The backing field for <see cref="List2"/>.</summary>
private static readonly ReadOnlyCollection<string> list2 =
new ReadOnlyCollection<string>(new [] {
Url.Yahoo,
Url.Google,
});
public static IEnumerable<string> List2
{ get { return list2; } }
}
Dieser Weg sein könnte, es zu tun : http://blog.devarchive.net/2008/01/auto- generate-strong-typed-navigation.html – Greg
Das Speichern dieser Liste in einer separaten XML-Datei (oder ResX-Datei) wäre eine viel bessere Idee. –