在MVC4中将字符串传递到局部视图

29

我希望能够从调用视图将一个字符串传递给我的局部视图 - 这个字符串将根据呈现该局部视图的视图而异。类似于这样:

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

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

2个回答

51

你的 Partial 必须绑定到一个字符串。

例如,在顶部放置这个:

@model string

使用@Model代替字符串参数来访问您的部分视图中的值。


我尝试过这个,但不知道如何在partialView的正文中引用它。我在partial的顶部添加了与您完全相同的内容,并在正文中尝试使用@string,但它正在寻找标识符。 - RobVious
@RobVious,我更新了答案。基本上使用@ Model作为您的字符串。 - Dave Alperovich
@Model 只输出第一个字符串。我该如何获取整个字符串?例如,“testing 123”。Model 只会打印“testing”。 - david benalal
@davidbenalal,很奇怪。你使用的是哪个版本? - Dave Alperovich
我在做@Model时没有加上括号" ",我的错。 - david benalal
以下是一种通过 ASP.NET Core partial tag 辅助器传递字符串文字的方法:<partial name='_partialName' model='new string("Value")' /> - Steve Mannina

0

1
我真的不想使用ViewData - 因为在我的视图中,数据已经可以从ViewModel中获取。 - RobVious

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接