2010-03-10 57 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) %> 
相關問題