可能的重复项:
使用数据库查找进行 URL 路由?
我正在寻找构建一个CMS,这意味着用户可以向系统添加页面,这将包括输入URL,然后在富文本编辑器中以HTML形式输入内容。
MVC3 路由将如何处理此问题? 据我了解,Controller/Action
方法命中一个操作并返回一个View()
但是如果此 URL Controller/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
在我的控制器中没有显示用户操作,因此请转到加载CMS抱歉,我不知道从哪里开始,所以我没有代码可以提供。
任何帮助或指导将不胜感激。
谢谢
在我的控制器中没有显示用户操作,因此请转到 LoadCMS 抱歉,我不知道从哪里开始,所以我没有代码可以提供。
据我了解,您需要使用操作DisplayUser
显示用户信息。因此,您可以创建如下所示的操作。
public ActionResult DisplayUser(string username){
var userDetails = GetDataFromDatabase(userId);
return View("User", userDetails);
}
因此,现在可以使用 url 访问此操作www.website.com/Users/DisplayUser/yrshaikh
假设此操作位于 UsersController
控制器内并且yrshaikh
是用户名。
为了更深入地了解,您可以尝试了解每个用户在stackoverflow上的配置文件链接,例如我的 https://stackoverflow.com/users/1182982 在这里1182982
userId,控制器名称users
(如果完成自定义路由,这可能会有所不同。
所以,我希望有了这些信息,你可以开始...