【问题标题】:Pass Variable from View to Partial View with @Html.Partial Asp.Net MVC使用@Html.Partial Asp.Net MVC 将变量从视图传递到部分视图
【发布时间】:2019-06-23 11:35:32
【问题描述】:

我有这样的代码:

<div id="SettingsTabPanel" class="tabbable-line" style="padding-top:20px;">
 <div id="ProjectTimeLine" class="tab-pane">
   @{ var test = 10;}
   @test
 </div>
  @Html.Partial("~/Views/PortfolioResearch/Partials/_LabUtilization.cshtml")
</div>

_LabUtilization.cshtml 中,我将变量测试称为@test。但是因为@test未定义而出现错误。我应该怎么做才能在_LabUtilization.cshtml中调用变量test

【问题讨论】:

  • 使用视图模型应该有助于实现此目的。您可以尝试RenderPartial 并传递包含Test 属性的视图模型,该属性分配了特定值。
  • @Tetsuya Yamamoto,对不起,我是新手,你能给我举个例子吗?使用RenderPartial
  • @zuckerburg,你应该在你发表评论后给我与我的问题相关的链接参考
  • @AghnatAtqiya 从字面上看,任何 MVC 教程都会指导您,这就是为什么我觉得它不需要链接?我想有更多时间的人可以为您编写完整的教程作为答案,但这不是该网站的重点。对不起,我不能帮你指导

标签: c# asp.net-mvc partial-views


【解决方案1】:

用户一些模型将值发送到部分,像这样

//your model
public class SomeModel
{
   public string test {get;set;}
}

//you view
@model SomeModel
<div id="SettingsTabPanel" class="tabbable-line" style="padding-top:20px;">
 <div id="ProjectTimeLine" class="tab-pane">
   @{ var test = 10;
Model.test = test;
}
   @test
 </div>
  @Html.Partial("~/Views/PortfolioResearch/Partials/_LabUtilization.cshtml", Model)
</div>


//your _LabUtilization partial

@model SomeModel

<span> @Model.test</span>

【讨论】:

  • 感谢@Abdullah Hunzai,但我想在不改变模型的情况下将变量从视图传递到其他视图
  • 不客气!如果是这种情况,那么您可以使用 TempData["yourKeyName"] = "some value";像这样在第一个视图中分配值并从第二个视图中的临时数据中获取值。比如: var anyVariable = (Type)TempData["yourKeyName"];我希望这会奏效。
猜你喜欢
  • 1970-01-01
  • 2018-02-21
  • 2017-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-01
相关资源
最近更新 更多