这似乎应该很容易,但我似乎无法弄清楚。我所有的谷歌搜索引导我链接到数据库,这不是我想要做的。我是一个完整的Web开发新手。在页面上创建链接w /网络地址存储在数据库中
我在创建我的web应用程序时大致遵循了NerdDinner教程。我的一个存储字段是一个网址。在“索引”和“详细信息”页面上,当我显示我的记录中的信息时,我希望网址是可点击的网站链接。
它目前显示为:
<%= Html.Encode(Model.Subcontract.company1.website) %>
这似乎应该很容易,但我似乎无法弄清楚。我所有的谷歌搜索引导我链接到数据库,这不是我想要做的。我是一个完整的Web开发新手。在页面上创建链接w /网络地址存储在数据库中
我在创建我的web应用程序时大致遵循了NerdDinner教程。我的一个存储字段是一个网址。在“索引”和“详细信息”页面上,当我显示我的记录中的信息时,我希望网址是可点击的网站链接。
它目前显示为:
<%= Html.Encode(Model.Subcontract.company1.website) %>
试试这个:
<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
助手,您将获得类似的效果。
所以你只是想让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
这是MVC,我们在这里没有PageLoad事件。 – LukLed 2010-03-10 06:25:42
您可以创建生成的链接的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) %>
谢谢。我不知道你可以在href中嵌入Html.Encode。我有一些电子邮件地址,我可能会在以后再做,所以现在我知道该怎么读。 – RememberME 2010-03-10 13:29:45
当我点击链接时,它会将我带到http://mysite/Subcontracts/Details/www.stackoverflow.com,而不是www.stackoverflow.com如何告诉它它不是内部链接? '<%= Html.Encode(item.company1.website) %>' – RememberME 2010-03-10 16:03:09
@RememberME:'http:// www.stackoverflow.com'在开头添加'http://'。 – LukLed 2010-03-10 16:35:45