1

1ページに必要なリンクの数と、リンクが指す場所をデータベースで呼び出すまではわかりません。したがって、フロントエンドのdivタグ内に「x」個のリンクを作成する必要があります。これをどのように達成できるかについてのアイデアはありますか?

これが私が試したことです-

foreach (KeyValuePair<string, string> kvp in attachments)
{
    HyperLink hyp = new HyperLink();
    hyp.ID = kvp.Key;
    hyp.Text = kvp.Value;
    attachmentHiddenDiv.Controls.Add(hyp);
}
4

4 に答える 4

2

runat属性値が「server」に設定されたdivをaspxページに配置します

<div id="divLinks" runat="server"></div>

コードビハインドでは、アイテムをループして、できるだけ多くのリンクを作成できます。

StringBuilder str=new StringBuilder();

foreach (KeyValuePair<string, string> kvp in attachments))
{
  str.Append("<a href='../target.aspx?id="+kvp.Value+"'>kvp.Key</a>");  
}
divLinks.InnerHtml=str.ToString();
于 2012-04-16T17:59:10.800 に答える
2

これを行うには、いくつかの異なる方法があります。最も簡単な方法は、ページにリテラルコントロールを追加し、コードビハインドの.Text値を表示するHtml(手動で作成したリンクのリスト)に設定することです。

別のオプションは、Repeaterを使用し、それをデータソースとしてURL文字列のリストにバインドし、NavigateUrlプロパティをバインドするItemTemplateのHyperLinkアイテムを使用することです。たとえば、asp:HyperLinkは、XPATHデータを使用してRepeater内でNavigateUrlをビルドします

于 2012-04-16T17:59:23.377 に答える
1

リテラルコントロールを使用します。リテラルコントロールをdivタグ内に配置し、DB値からhtmlを生成し、リテラルコントロールのテキストプロパティをDB値から生成されたhtml文字列に設定します。

于 2012-04-16T17:56:38.307 に答える
0

リピーターを使用してオブジェクトのセットを反復処理し、各オブジェクトのマークアップを作成できます。オブジェクトはデータベースから取得されます。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeater.aspx

于 2012-04-16T17:57:30.287 に答える