0

私の問題は、SQL テーブルからすべてのリンクを返すメソッドを作成し、それらをラベルに渡すことができることですが、それらのリンクをクリックできないことです...修正する方法はありますか?これ?または、リンクをテーブルなどに渡す方法はありますか? ありがとうございました!

コードは次のようになります。

service1.WebServiceLinks a1 = new service1.WebServiceLinks();
        string result = a1.GetLinks();


        Label1.Text = result;

これは GetLinks() のコードです:

public static string GetLinks()
{

    string query = string.Format("SELECT Link FROM Linkovi");
    StringBuilder result = new StringBuilder();
    try
    {
        conn.Open();
        command.CommandText = query;

        SqlDataReader reader = command.ExecuteReader();

        while (reader.Read())
        {
            result.Append(reader["Link"].ToString());
        }
        reader.Close();
    }
    finally
    {
        conn.Close();
    }
    return result.ToString();
}
4

4 に答える 4

3

ラベルの代わりに、ハイパーリンクコントロールを使用してみませんか? リンク(アンカー要素)をレンダリングします。その上にクリック可能なリンクを設定できるはずです。

于 2013-03-15T17:53:09.063 に答える
1

Webサービスの両端を制御できるので、巨大な文字列だけでなく、自分に有利に働き、意味のある情報を返します。少なくとも、List<string>:のコレクションを返します。

public static List<string> GetLinks()
{
    string query = string.Format("SELECT Link FROM Linkovi");
    List<string> result = new List<string>();
    try {
        conn.Open();
        command.CommandText = query;
        SqlDataReader reader = command.ExecuteReader();
        while (reader.Read()) {
            result.Add(reader["Link"].ToString());
        }
        reader.Close();
    } finally {
        conn.Close();
    }
    return result;
}

次に、結果を表示するには、結果にRepeaterバインドされたコントロールのようなものを使用し、HyperLinkをクリック可能なリンクを表示します。

<asp:Repeater ID="LinkDisplay" runat="server">
<ItemTemplate>
    <asp:HyperLink ID="TheLink" runat="server"
        NavigateUrl='<%#Container.DataItem%>' Text='<%#Container.DataItem%>'>
    </asp:HyperLink>
</ItemTemplate>
</asp:Repeater>

そして、リピーターを次の結果にバインドしますPage_Load

void Page_Load(object sender, EventArgs e) {
    service1.WebServiceLinks a1 = new service1.WebServiceLinks();
    LinkDisplay.DataSource = a1.GetLinks();
    LinkDisplay.DataBind();
}
于 2013-03-15T18:11:13.717 に答える
0

アンカータグで包みます

<a href="your_link" >text</a>

于 2013-03-15T17:56:18.003 に答える
0

タグには、問題の要素の を参照する属性<label>が必要です。それができたら、[should] はホットで、標準に準拠したブラウザでクリックできます。forid<input><label>

必要な HTML マークアップの例を次に示します。

<li><input id="options-rb1" type="checkbox" name="options" value="1"/><input<label for="options-rb1">&nbsp;Option 1</label></li>
<li><input id="options-rb2" type="checkbox" name="options" value="2"/><input<label for="options-rb2">&nbsp;Option 2</label></li>
<li><input id="options-rb3" type="checkbox" name="options" value="4"/><input<label for="options-rb3">&nbsp;Option 3</label></li>
<li><input id="options-rb4" type="checkbox" name="options" value="8"/><input<label for="options-rb4">&nbsp;Option 4</label></li>

要素は、それが関連付けられている要素に<label>隣接する (または近くにさえある) 必要はありません。<input>

于 2013-03-15T18:30:21.630 に答える