Asp.net 指定视图模型时找不到视图

Asp.net 指定视图模型时找不到视图,asp.net,asp.net-mvc,asp.net-mvc-3,Asp.net,Asp.net Mvc,Asp.net Mvc 3,我对局部视图和关联视图模型有一个特殊的问题。 控制器中的相关功能如下所示: using MyProject.ViewModels; [ChildActionOnly] public PartialViewResult ShowMyView(int id) { return PartialView(new MyModel() { ModelID = id }); } 然后我有一个视图模型,定义如下: namespace MyProject.ViewModels { [Bind(Excl

我对局部视图和关联视图模型有一个特殊的问题。 控制器中的相关功能如下所示:

using MyProject.ViewModels;

[ChildActionOnly]
public PartialViewResult ShowMyView(int id)
{
  return PartialView(new MyModel() { ModelID = id });
}
然后我有一个视图模型,定义如下:

namespace MyProject.ViewModels
{
  [Bind(Exclude = "ModelID")]
  public class MyModel: IValidatableObject
  {
    public MyModel()
    {
        Count = 1;
    }

    [Required]
    [HiddenInput(DisplayValue = false)]
    public int ModelID { get; set; }

    [Required]
    [Range(1, 9999)]
    public int Count { get; set; }

    public IEnumerable<ValidationResult> Validate(
                  ValidationContext validationContext)
    {
        if (ModelID <= 0)
            yield return new ValidationResult("Model ID missing", 
                                          new[] { "ModelID" });

        if (Count <= 0)
            yield return new ValidationResult("Count cannot be zero", 
                                          new[] { "Count" });
    }
  }
}
它工作得很好(显示视图),但是当我定义实际模型时

@inherits WebViewPage<MyProject.ViewModels.MyModel>
@继承WebViewPage
它将不显示该视图,并给出找不到该视图的错误信息(带有它所查找的位置列表,包括确实存在的Views/Shared/ShowMyView.cshtml路径)

这似乎发生在我在项目中使用的任何模型类上。有任何关于我做错了什么的线索吗?

尝试替换:

@inherits WebViewPage<MyProject.ViewModels.MyModel>
ShowMyView.cshtml
视图的顶部。通常情况下,两者应该是相等的,但你永远不知道。另外,请确保在呈现此子操作时,正在传递id参数:

@Html.Action("ShowMyView", "SomeController", new { id = "123" })

是否有需要使用
@inherits
指令的原因?默认情况下,视图将使用在视图folderNo的web.config中定义的
,我也使用了
@model
。事实上,这就是我在开始时使用的,然后我尝试了
@inherits
,看看这是否有什么不同。这是我们作为插件编写的另一个MVC系统的一个局部问题。调用很好,但我尝试了使用@model,但没有任何区别。是的,我在Html.Action调用中包含了id参数。@TomvanEnckevort,嗯,这很奇怪。我无法重现你的问题。你能提供一个允许重新编程的逐步示例吗?
@model MyProject.ViewModels.MyModel
@Html.Action("ShowMyView", "SomeController", new { id = "123" })