2012-12-05 165 views
-1

可能重复:
Url routing with database lookup?自定义路由在MVC3

我希望建立一个CMS,这将意味着用户可以将页面添加到系统中,这将invlolve进入该网址,然后是Rich文本编辑器中的HTML内容。

MVC3路由如何处理?因为据我所知,Controller/Action方法打的动作,并返回一个View()但如果这个URL Controller/Action在数据库中,指向的内容存在于一个数据库

基本上我需要系统检查路由存在,如果没有得到来自HTML数据库并显示View()

eg /帐号/ 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页面:

例如/帐户/ DisplayUser

在我的控制器中没有DisplayUser动作,所以去LoadCMS 对不起,我不知道从哪里开始,所以我没有代码给。

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

感谢

+0

@CodeCaster你知道的任何示范项目这个的?看起来过于复杂 – CR41G14

回答

0

在我的控制器没有DisplayUser行动,所以还是LoadCMS对不起,我不知道从哪里开始对这个所以我没有代码给。

据我所知,您需要使用操作DisplayUser显示用户信息。所以你可以创建一个如下所示的动作。

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

所以这个动作现在可以使用url www.website.com/Users/DisplayUser/yrshaikh假设这个动作是UsersController控制器内,yrshaikh是用户名到达。

更多的了解,你可以尝试和了解配置文件链接的每个用户有一个计算器,例如像我的是https://stackoverflow.com/users/1182982这里的用户标识1182982和控制器名称为users(这一点,如果自定义路由做可以是不同的。)

所以,我希望这个信息,你可以开始...