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'會加載異步,這可能是你之後的情況,但是如果數據已經加載,那麼就不會添加任何內容,因爲它只是可能是最小部分的異步渲染。 –