c# – 将数据从部分视图传递到其父视图

栏目: ASP.NET · 发布时间: 7年前

内容简介:翻译自:https://stackoverflow.com/questions/19766502/passing-data-from-partial-view-to-its-parent-view

如果我有视图和部分视图,有什么方法可以将数据从部分视图传递给父视图?

所以,如果我有View.cshtml:

<div id="@someDataFromPartialSomehow">
    @Html.Partial("_PartialView")
</div>

和_PartialView.cshtml:

@{ someDataFromPartialSomehow = "some-data" }

<div>
    Some content
</div>

我将如何实现这样的事情?

我尝试使用ViewBag.SomeDataFromPartialSomehow,但这只会在Parent中导致null.

一次尝试

要尝试解决在调用之前生成的数据问题,我试过这个:

View.cshtml:

@{ var result = Html.Partial("_PartialView"); }

<div id="@ViewData["Stuff"]">
    @result
<div>

_PartialView.cshtml:

@{ ViewData["Stuff"] = "foo"; }

<div>
    Content
</div>

但是对@ViewDate [“Stuff”]的调用仍然没有遗憾.

您可以使用HttpContext在视图之间共享状态.

@{
    this.ViewContext.HttpContext.Items["Stuff"] = "some-data";
}

然后:

@{ var result = Html.Partial("_PartialView"); }

<div id="@this.ViewContext.HttpContext.Items["Stuff"]">
    @result
<div>

除了您在问题中显示的示例:

<div id="@someDataFromPartialSomehow">
    @Html.Partial("_PartialView")
</div>

你试图使用someDataFromPartialSomehow甚至在调用部分视图之前,这显然是不可能的.

还要记住,你想要实现的是糟糕的设计.如果部分视图只能在某个特定父级的上下文中工作,那么您可能需要重新考虑视图分离.部分视图必须是独立和可重用的,无论它在哪种上下文中.如果它假定托管父母的事情,那么这里有一个严重的设计问题.

翻译自:https://stackoverflow.com/questions/19766502/passing-data-from-partial-view-to-its-parent-view


以上所述就是小编给大家介绍的《c# – 将数据从部分视图传递到其父视图》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

国际大学生程序设计竞赛例题解

国际大学生程序设计竞赛例题解

郭嵩山 / 电子工业出版社 / 2007-7 / 32.00元

《国际大学生程序设计竞赛例题解3:图论、动态规划算法、综合题专集》以图论、动态规划算法、综合题的形式介绍了ACM国际大学生程序设计竞赛(ACM/ICPC)中所用到的典型算法,并结合例题,对如何灵活地运用这些算法进行比较详细分析和深入浅出的讲解。《国际大学生程序设计竞赛例题解3:图论、动态规划算法、综合题专集》以精讲多练为教学宗旨,并在每一个专题论述后用一章的篇幅选出一批有代表性的竞赛例题,对每道例......一起来看看 《国际大学生程序设计竞赛例题解》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具