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