gpt4 book ai didi

asp.net-mvc - 在 MVC 中,局部 View 会继承其父 View 的模型吗?

转载 作者:行者123 更新时间:2023-12-05 01:17:22 25 4
gpt4 key购买 nike

我正在将一些数据从我的 Controller 传递给一个 View ,我希望在该 View 内的部分 View 中显示这些数据(不要问,这很复杂)。我知道我什至可能不应该将模型传递给为另一个 View 指定的 View ,但我注意到部分 View 实际上是从父 View 继承模型:

public ActionResult Index(){

Person p = new Person
{
FName = "Mo",
LName = "Sep"

};

return View(p);

}

然后在我的 Index 里面查看我有:
<h2>Index</h2>

@Html.Partial("_IndexPartial")

和内部 _IndexPartial我有:
@Model.FName 

这打印“Mo”。

这种行为是否与 WPF 中的子控件继承其父 View 的数据上下文中的行为类似?在您的应用程序中使用它是否被认为是不好的做法?

谢谢。

最佳答案

Is this behaviour intended like that in WPF where child controls inherit the data context of their parent View?



是的。

我看到您目前没有将任何模型传递给
是否可以只继承布局,然后根本不需要使用部分?

如果你想像你一样继续使用它,也许只是更明确地说明它,并将当前模型传递给部分。
@Html.Partial("_IndexPartial", Model)

如果您查看 Html.Partial(view) 的源代码:
public static MvcHtmlString Partial(this HtmlHelper htmlHelper, string partialViewName)
{
return Partial(htmlHelper, partialViewName, null /* model */, htmlHelper.ViewData);
}

它通过 htmlHelper.ViewData 传递模型,您可以在 View 中使用 @{ViewData.Model} 以相同的方式访问模型,但这不是一个好习惯。

关于asp.net-mvc - 在 MVC 中,局部 View 会继承其父 View 的模型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13431056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com