【问题标题】:RenderPartial not working渲染部分不工作
【发布时间】:2011-09-26 20:40:53
【问题描述】:

我有一个简单的局部视图,它返回(呈现)给定单词的同义词列表。然后我想在另一个视图中使用这个局部视图,并在我的视图中使用@Html.RenderPartial("SynonymFinder", new { word = "Something" })。但我得到这个错误:

CS1502:“System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)”的最佳重载方法匹配有一些无效参数

这是最简单的场景。我什至删除了参数并使用了@Html.RenderPartial("SynonymFinder"),但仍然是同样的问题。怎么了?

【问题讨论】:

标签: asp.net-mvc asp.net-mvc-3 partial-views renderpartial


【解决方案1】:

在 MVC 3 中你应该使用:

@Html.Partial("SynonymFinder", new ViewDataDictionary { { word = "Something" } })

请注意,第二个参数的类型为ViewDataDictionary。如果您没有像那样显式传递它,帮助程序将使用将object 作为第二个参数的重载,并将其用作模型而不是路由值。

【讨论】:

    【解决方案2】:

    你需要用字段word创建一个模型

    public class SynonymFinderModel
    {
        public string Word {get; set;}
    }
    

    那么,在你看来,你有

    @Html.Partial("SynonymFinder", new SynonymFinderModel { Word = "something"})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-17
      • 2012-03-02
      • 2017-05-07
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      相关资源
      最近更新 更多