如何在 ASP.NET MVC 中将参数传递给局部视图?
假设我有这个部分视图:
Your name is <strong>@firstName @lastName</strong>
可以通过仅子操作访问,例如:
[ChildActionOnly]
public ActionResult FullName(string firstName, string lastName)
{
}
并且我想在另一个视图中使用此部分视图:
@Html.RenderPartial("FullName")
换句话说,我希望能够将firstName和lastName从视图传递到部分视图。我该怎么做呢?
Suppose that I have this partial view:
Your name is <strong>@firstName @lastName</strong>
which is accessible through a child only action like:
[ChildActionOnly]
public ActionResult FullName(string firstName, string lastName)
{
}
And I want to use this partial view inside another view with:
@Html.RenderPartial("FullName")
In other words, I want to be able to pass firstName ans lastName from view to partial view. How should I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(8)
海的爱人是光2024-11-25 08:16:12
使用此重载(MSDN 上的RenderPartialExtensions.RenderPartial
):
public static void RenderPartial(
this HtmlHelper htmlHelper,
string partialViewName,
Object model
)
所以:
@{Html.RenderPartial(
"FullName",
new { firstName = model.FirstName, lastName = model.LastName});
}
爱已欠费2024-11-25 08:16:12
您需要创建一个视图模型。像这样的事情应该做...
public class FullNameViewModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
public FullNameViewModel() { }
public FullNameViewModel(string firstName, string lastName)
{
this.FirstName = firstName;
this.LastName = lastName;
}
}
然后从您的操作结果传递模型
return View("FullName", new FullNameViewModel("John", "Doe"));
,您将能够相应地访问 @Model.FirstName
和 @Model.LastName
。
↘人皮目录ツ2024-11-25 08:16:12
@{
Html.RenderPartial("_partialViewName", null, new ViewDataDictionary { { "Key", "Value" } });
}
在您想要显示部分的地方,
@{
string valuePassedIn = this.ViewData.ContainsKey("Key") ? this.ViewData["Key"].ToString() : string.Empty;
}
在渲染的部分视图中,
使用 valuePassedIn --> @valuePassedIn
德意的啸2024-11-25 08:16:12
我刚刚遇到这个问题,我也有类似的情况,
我的问题如下:
我有多个变量需要传递给我创建的部分视图 我
创建的解决方案
@{
await Html.RenderPartialAsync("YourPartialViewName",new { NumberOfProducts = ViewData["NumberOfProducts"], UserName = ViewData["UserName"] });
}
在上面的代码中,我创建了一个匿名对象并将其发送到视图
下面的代码是解释如何检索发送的数据
通过这个对象
<span>
@Model.UserName
</span>
<span>
@Model.NumberOfProducts
</span>
希望这有帮助
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如果您想使用 ViewData,还有另一种方法:
并检索传入的值:
Here is another way to do it if you want to use ViewData:
And to retrieve the passed in values: