這似乎應該很容易,但我似乎無法弄清楚。我所有的谷歌搜索引導我鏈接到數據庫,這不是我想要做的。我是一個完整的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