O.K.我認爲這很簡單!
我有一個ViewMasterPage的一些鏈接(首頁/關於/登錄/等)。我想要實現的只是當鏈接已被打開時鏈接被禁用(即,如果當前網址是/ Register,那麼註冊鏈接應該被禁用..容易啊!?)
因爲我不喜歡在我的視圖中編寫大量的內聯編碼,最後我用一些擴展方法(只是爲了將代碼保存在.cs文件中)擴展HtmlHelper,並在我的視圖中調用這些方法,下面是我的註冊方法:
禁用當前網址的鏈接?
public static string Register (this HtmlHelper html)
{
TagBuilder builder ;
if (HttpContext.Current.Request.Url.AbsoluteUri.ToUpperInvariant().Contains(MainLinks.Register.ToUpperInvariant()))
return MainLinks.Register; // will return the string "Register"
builder = new TagBuilder("a");
builder.InnerHtml = MainLinks.Register;
builder.AddCssClass("register");
builder.Attributes.Add("href", "/register/");
return builder.ToString();
}
雖然這個工作,它仍然有兩個問題:
- 個
URL的硬編碼字符串值(專門爲家鄉鏈路,因爲我比較AbslouteUri與「http://www.mysite.com/」)
我的編程本能不喜歡它,我覺得它應該是比簡單得多。
任何想法!
Ps:不允許javascipt!這是一個無JavaScript版本的應用程序。
謝謝DaveG!我會盡量保持乾爽!我會在這裏等一段時間,也許有人提出一個更簡單的想法!再次感謝。 – Galilyou 2009-09-07 06:50:19
哦,我幾乎忘了提及它.. +1 :) – Galilyou 2009-09-07 06:51:07