0
我无法在视图中共享部分视图的值。部分视图中的Asp.net份额值
我的主视图:
<ul class="nav nav-tabs" style="margin-bottom: 5%;">
<li id="first" role="presentation" class="active"><a>Anschrift</a></li>
<li id="second" role="presentation"><a>Kunden Daten</a></li>
<li id="third" role="presentation"><a>Preis/Zahlung</a></li>
</ul>
@model CustomerViewModel
<div id="inhalt">
@Html.Partial("_General", Model)
</div>
我查看脚本:
$("#first").click(function() {
$("#inhalt").load('@Url.Action("General", "Home")');
});
$("#second").click(function() {
$("#inhalt").load('@Url.Action("Data", "Home")');
});
#first
和#second
是按钮。
所有视图嵌套在控制器中,我的目标是在整个局部视图中共享模型。
我的控制器:
public ActionResult Customer()
{
return View();
}
public ActionResult General(CustomerViewModel model)
{
return PartialView("~/Views/Home/_General.cshtml");
}
public ActionResult Data(CustomerViewModel model)
{
return PartialView("~/Views/Home/_Data.cshtml");
}
顾客是将局部视图越来越呈现的主视图。
从我的局部视图的代码段:
@model CustomerViewModel
<h1>General Partial View</h1>
@Html.TextBoxFor(model => model.Name1, new { @class = "text", placeholder = "Name 1", id = "Name1" })
编辑:
我尝试下面的代码,以便分享不同的观点型号:
$("#inhalt").load('@Url.Action("Data", "Home", model)');
但这似乎并不奏效,因为当我调试控制器时,模型中的所有内容都是空的。
说明:
我按具有ID列表元素(#first, #second
..)。我想用我的部分视图替换id为#inhalt
的div。为了做到这一点,我正在使用javascript来替换部分,这一切工作正常。但我无法将我的模型传递给观点。我如何实现这一目标?
那么具体的问题或问题是什么? *“我有麻烦”*是一个毫无价值的问题描述 – charlietfl
我试过以下代码:$(“#inhalt”)。load('@ Url.Action(“Data”,“Home”,Model)');为了通过模型,但这并没有工作,模型仍然是空的... – Anokrize
在你提供的代码中,你没有设置一个'model' - 所以当你传回它时,它当然是空的。你需要在你的主页/视图('Customer()'?)中加载你的模型。请记住,如果你使用'$().load(“@ Url.Action ...'那么'model'将被传递给url,如果你有一个大型模型,你可能会遇到URL长度问题。问题:你有没有使用'@ Html.Partial'的原因? '$ .load'会加载异步,这可能是你之后的情况,但是如果数据已经加载,那么就不会添加任何内容,因为它只是可能是最小部分的异步渲染。 –