出于教育目的,我正在构建一个克隆社交书签服务(类似于 reddit)。在列表中的每个“书签”下,我想显示源 URL 的 基域 (而不是完整 URL。
我已经在 SO 上找到了一些关于如何执行此操作的线程,因此我已经继续创建了一个类来抽象功能,但是我不确定应该在哪里实际调用该方法。
目前我有我的 BookmarkList
Controller 方法将 Bookmark
对象列表传递给 View ,我在那里迭代列表。由于 Bookmark
对象没有用于存储基本 URL 的属性(因为我正在即时计算它),因此在将它们传递给 View 之前无法将其放入 Bookmark
对象中(无论如何它似乎是错误的)。那么我应该调用我从 View 本身创建的 GetDomainFromUrl 方法吗?出于某种原因,这也不合适。
我不确定如何在不破坏 MVC 约定的情况下适应此功能。
谢谢。
最佳答案
我会将它添加到 Bookmark 类。可以计算属性,以下是来自 msdn ( MSDN source ) 的 asp.net mvc 教程中的示例:
public string LastName { get; set; }
public string FirstMidName { get; set; }
public string FullName
{
get
{
return LastName + ", " + FirstMidName;
}
}
您可以在此处调用 GetDomainFromUrl 方法,而不是简单地连接字符串。
IE,
public string BaseUrl
{
get
{
return GetDomainFromUrl(this.Url);
}
}
请注意,没有定义 set 方法,因为您可以/将要设置 Url 属性。
另外,您的网址是否存储为字符串?
如果您使用的是 URI class ,则可以只使用 this.FullUrl.Host,假设您文章的 url 是在名为 FullUrl 的属性中定义的。(还假设这不会破坏此任务的重点,因为您说这是为学校.)
关于c# - 在 ASP.NET MVC 应用程序中放置函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12398268/