【问题标题】:Passing a string into a partial view in MVC4将字符串传递到MVC4中的局部视图
【发布时间】:2013-02-03 10:16:56
【问题描述】:

我希望能够将一个字符串从调用视图传递到我的局部视图中 - 这个字符串将根据呈现局部视图的视图而有所不同。像这样的:

@{ Html.RenderPartial("PartialViews/_BreadcrumbsPartial", "New Item");}

或者

@{ Html.RenderPartial("PartialViews/_BreadcrumbsPartial", Model.Name);}

我如何从局部视图中访问第二个参数,因为我没有标记该参数?如果可能的话,我想避免传递整个模型,而直接引用该字符串。

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 razor


    【解决方案1】:

    你的部分必须绑定到一个字符串

    例如,在最上面:

    @model string
    

    要访问部分中的值,请使用 @Model 代替字符串参数

    【讨论】:

    • 我试过了,但不知道如何在部分视图的正文中引用它。我在部分顶部添加了您所拥有的内容,并在正文中尝试了@string,但它正在寻找一个标识符。
    • @RobVious,我更新了答案。基本上使用@Model 作为你的字符串。
    • 太棒了。谢谢戴夫。
    • @Model 只输出第一个字符串。如何获取整个字符串?例如。 “测试 123”。模型只会打印“测试”
    • @davidbenalal,这很奇怪。你用的是什么版本?
    【解决方案2】:

    您可以使用TempData(或者可能是ViewData),它应该可以在后续视图中访问。不过,我相信你也可以直接传递变量,也许是通过查询字符串。

    这个问题也请看asp.net mvc parameter from page to a partial view

    【讨论】:

    • 我真的不想使用 ViewData - 我的 View 中的 ViewModel 已经提供了数据。
    猜你喜欢
    • 1970-01-01
    • 2020-06-06
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-14
    相关资源
    最近更新 更多