我希望构建一个CMS,这意味着用户可以向系统添加页面,这将在富文本编辑器中输入URL,然后将内容作为HTML。
MVC3路由将如何处理此问题?据我所知,Controller/Action
方法点击一个操作并返回View()
,但是如果此URL Controller/Action
存在于数据库中并指向数据库中的内容
基本上我需要系统检查路由是否存在,如果没有从数据库中获取html并显示View()
e.g。 /帐户/ 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页面时该怎么办:
e.g。 /帐户/ DisplayUser
在我的控制器中没有DisplayUser Action,所以转到LoadCMS 对不起,我不知道从哪里开始,所以我没有代码可以给。
任何帮助或指示都将不胜感激。
由于
答案 0 :(得分: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
是用户名。
为了更好地理解,您可以尝试理解每个用户在stackoverflow上的配置文件链接,例如我的https://stackoverflow.com/users/1182982,其中userId为1182982
,控制器名称为users
(如果完成自定义路由,则可能会有所不同。)
所以,我希望通过这些信息你可以开始......