【问题标题】:ASP.Net MVC 2 partialview that reads part of URL读取部分 URL 的 ASP.Net MVC 2 部分视图
【发布时间】:2011-04-26 02:08:14
【问题描述】:

我正在使用如下控制器操作创建局部视图:

public ActionResult GetPostsByUser(string userName) {

其中用户名是 URL 的一部分:

www.example.com/User/toddM

tod​​dM 是用户名

首先..我这样做是正确的吗?如果我将其设为查询字符串 ?userName=toddM 它可以工作.. 但我需要它从 URL 中读取。同样,这是一个部分视图。谢谢!

【问题讨论】:

  • 为什么要在 ASP.NET MVC 中使用 UserControl?您应该使用 PartialViews。
  • 对不起命名错误.. 我使用的是 PartialView,在我的原始帖子中将单词 usercontrol 替换为 partialview。谢谢!
  • 听起来您错过了与/User/{userName} 匹配的路线。阅读路线。 :) 此外,在这种情况下,无论是在查询字符串中还是在 URL 中都没有功能上的区别。您仍然不应该从 View 中提取用户名,而是从 Controller 中提取用户名。
  • 嗨 bzlm 这是我正在寻找的信息。如何从控制器中提取 URL 的用户名部分?谢谢!

标签: asp.net-mvc-2 partial-views


【解决方案1】:

您的 Url 示例不是“格式正确”,因为它错过了其中一个控制器/操作。

其实按照MVC项目模板创建的默认路由你应该有

"{controller}/{action}/{id}", // URL with parameters

www.example.com/Post/User/toddM 之类的 URL 非常适合默认路由,因此我认为可以正常工作。

这将是您在假设的 PostController 中的操作

public ActionResult User( string id )
{
    //id will contain toddM 
}

【讨论】:

  • 有效!谢谢,我的签名错误 public ActionResult User( string userName ) { 并且没有匹配的路由。太棒了,再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 2012-06-22
相关资源
最近更新 更多