我的问题是我创建了一个方法,它将返回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();
}
答案 0 :(得分:3)
为什么不使用Hyperlink控件而不是标签呢?它呈现一个链接(锚元素)。因此,您应该能够在其上设置可点击链接。
答案 1 :(得分: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();
}
答案 2 :(得分:0)
将其包装在锚标记
中 <a href="your_link" >text</a>
答案 3 :(得分:0)
您的<label>
代码必须具有for
属性,并引用相关id
元素的<input>
。一旦你有了这个,<label>
[应该]是热门的,可点击任何符合标准的浏览器。
以下是您想要的HTML标记类型的示例:
<li><input id="options-rb1" type="checkbox" name="options" value="1"/><input<label for="options-rb1"> Option 1</label></li>
<li><input id="options-rb2" type="checkbox" name="options" value="2"/><input<label for="options-rb2"> Option 2</label></li>
<li><input id="options-rb3" type="checkbox" name="options" value="4"/><input<label for="options-rb3"> Option 3</label></li>
<li><input id="options-rb4" type="checkbox" name="options" value="8"/><input<label for="options-rb4"> Option 4</label></li>
不应该<label>
元素不必与它所绑定的<input>
元素相邻(或者甚至接近)。