-1

可能重复:
带有数据库查找的 URL 路由?

我正在寻找构建一个 CMS,这意味着用户可以向系统添加页面,这将涉及在富文本编辑器中输入 URL,然后将内容作为 HTML。

MVC3 路由将如何处理这个问题?据我了解,该Controller/Action方法会触发一个操作并返回一个View()但如果此 URLController/Action存在于数据库中并指向数据库中的内容

基本上我需要系统检查路由是否存在,如果没有从数据库中获取 html 并显示View()

例如 /Account/EditUser

在我的控制器中,我有

public ActionResult EditUser(){

    return View();
}

public ActionResult LoadCMS(String URL){
    // check URL exists in DB
    // get the html from db
    // return the Html as a View to the user
    // if not exists then return error page
}

但是当我请求一个 CMS 页面时我该怎么办:

例如 /Account/DisplayUser

在我的控制器中没有 DisplayUser 操作,所以转到 LoadCMS 抱歉,我不知道从哪里开始,所以我没有代码可以提供。

任何帮助或方向将不胜感激。

谢谢

4

1 回答 1

0

在我的控制器中没有 DisplayUser 操作,所以转到 LoadCMS 抱歉,我不知道从哪里开始,所以我没有代码可以提供。

据我了解,您需要使用操作显示用户信息DisplayUser。因此,您可以创建如下所示的操作。

 public ActionResult DisplayUser(string username){
    var userDetails = GetDataFromDatabase(userId);
    return View("User", userDetails);
 }

www.website.com/Users/DisplayUser/yrshaikh因此,假设此操作在UsersController控制器内部并且yrshaikh是用户名,现在可以使用 url 来访问此操作。

为了进一步了解,您可以尝试了解每个用户在 stackoverflow 上的配置文件链接,例如我的是https://stackoverflow.com/users/1182982这里 userId 是1182982控制器名称users(如果自定义路由,这可能会有所不同已经完成了。)

所以,我希望有了这些信息,你可以开始......

于 2012-12-05T16:58:54.250 回答