2010-03-10 135 views
1

这似乎应该很容易,但我似乎无法弄清楚。我所有的谷歌搜索引导我链接到数据库,这不是我想要做的。我是一个完整的Web开发新手。在页面上创建链接w /网络地址存储在数据库中

我在创建我的web应用程序时大致遵循了NerdDinner教程。我的一个存储字段是一个网址。在“索引”和“详细信息”页面上,当我显示我的记录中的信息时,我希望网址是可点击的网站链接。

它目前显示为:

<%= Html.Encode(Model.Subcontract.company1.website) %> 

回答

1

试试这个:

<a href="<%= Html.Encode(Model.Subcontract.company1.website) %>"><%= Html.Encode(Model.Subcontract.company1.website) %></a> 

<a href="<%= Html.Encode(Model.Subcontract.company1.website) %>">Company website</a> 

如果使用DataAnnotations,你可以阅读有关DataTypeAttribute。如果您使用EmailAddress数据类型修改了此属性的属性并使用DisplayFor助手,您将获得类似的效果。

+0

谢谢。我不知道你可以在href中嵌入Html.Encode。我有一些电子邮件地址,我可能会在以后再做,所以现在我知道该怎么读。 – RememberME 2010-03-10 13:29:45

+0

当我点击链接时,它会将我带到http://mysite/Subcontracts/Details/www.stackoverflow.com,而不是www.stackoverflow.com如何告诉它它不是内部链接? '<%= Html.Encode(item.company1.website) %>' – RememberME 2010-03-10 16:03:09

+1

@RememberME:'http:// www.stackoverflow.com'在开头添加'http://'。 – LukLed 2010-03-10 16:35:45

0

所以你只是想让Model.Subcontract.company1.website返回的信息可点击吗?如果是这样,你可以只写这些信息纳入一个锚标记,像这样:

<a href="<%= Html.Encode(Model.Subcontract.company1.website) %>"><%= Html.Encode(Model.Subcontract.company1.website) %></a> 

否则,您可以通过使用

<asp:HyperLink ID="mylink" runat="server" /> 

,并把这样做的pageLoad的事件中的pageLoad的事件以下后面的代码:

mylink.NavigateUrl = Model.Subcontract.company1.website 
mylink.Text = Model.Subcontract.company1.website 
+1

这是MVC,我们在这里没有PageLoad事件。 – LukLed 2010-03-10 06:25:42

0

您可以创建生成的链接的HTML辅助类两种拓方法:

public static MvcHtmlString HtmlLink(this HtmlHelper html, string url, string text) 
{ 
    return HtmlLink(html, url, text, null); 
} 

public static MvcHtmlString HtmlLink(this HtmlHelper html, string url, string text, object htmlAttributes) 
{ 
    TagBuilder tb = new TagBuilder("a"); 
    tb.InnerHtml = text; 
    tb.MergeAttributes(new RouteValueDictionary(htmlAttributes)); 
    tb.MergeAttribute("href", url); 
    return MvcHtmlString.Create(tb.ToString(TagRenderMode.Normal)); 
} 

然后,你可以这样做:

<%= Html.HtmlLink(Model.Subcontract.company1.website, Model.Subcontract.company1.website) %> 
相关问题