出于教育目的,我正在构建一个克隆社交书签服务(类似于 reddit)。在列表中的每个“书签”下,我想显示源 URL 的基域(而不是完整的 URL。
我已经在 SO 上找到了一些关于如何执行此操作的线程,所以我继续创建了一个类来抽象功能,但我不确定我应该在哪里实际调用该方法。
目前,我的 BookmarkList
Controller 方法将 Bookmark
对象的列表传递给 View ,我在 View 中迭代该列表。由于 Bookmark
对象没有用于存储基本 URL 的属性(因为我正在即时计算它),所以我不能将它放在 Bookmark
对象中在将它们传递给 View 之前(无论如何它似乎都是错误的)。那么我应该调用我从 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 方法,而不是简单地连接字符串。
浏览器,
public string BaseUrl
{
get
{
return GetDomainFromUrl(this.Url);
}
}
请注意,没有定义 set 方法,因为您可以/将会设置 Url 属性。
此外,您的 Url 是否存储为字符串?
如果您使用的是 URI class ,你可以只使用 this.FullUrl.Host,假设你的文章的 url 是在一个名为 FullUrl 的属性中定义的。(同时假设这不会破坏这个任务的重点,因为你说这是为了学校。)
关于c# - 在 ASP.NET MVC 应用程序中放置函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12398268/