2015-08-25 94 views
0

在視圖中我有一個foreach循環和環路內,我想循環變量傳遞給將在模態中使用的局部視圖:傳遞變量到局部視圖

@foreach (var ladder in Model.CurrentLadders) 
{...render some stuff 
    @Html.Partial("_SignupSheetPartial",ladder) 

然後在_signupSheetpartial.cshtml

<!-- Modal content--> 
    //render stuff using the ladder variable 
    <p>ladder.Name</p> 

但是局部視圖無法識別梯形圖變量。另外,如果我想在partial中使用另一個變量,是否有一種方法可以發送多個變量?

+0

您的部分觀點是否期望收到一份清單? – JsonStatham

+0

您可以將模型傳遞給局部視圖。這可能是你的變量。局部視圖需要一個模型聲明語句。在你的情況下,類型的CurrentLadders – RitchieD

回答

1

你的局部視圖需要知道它將被賦予一個特定的模型。所以請確保它在開頭有這一行:

@model Full.Name.Of.Ladder.Class 

而且在局部視圖內沒有循環,所以沒有循環變量。相反,它應該由Model引用:

<p>Model.Name</p> 
+0

好的謝謝,我想我會需要做一些重新設計,因爲我不能在部分中使用循環變量。 – Jynn

+0

@ user3611219,從我現在可以看到的情況來看,我已經建議的是啓用代碼所需的全部內容。一般來說,我沒有看到你有什麼設計缺陷,你的場景很常見,而且根本不令人擔憂 – Andrei

1

確保你指的階梯類的模式,使局部視圖模型知道會發生什麼

@model namespace of ladder class 

它是通過您的多個最佳途徑將類(對象)中的參數添加到您的局部視圖中。所以你需要以這樣的方式設計你的課程:局部視圖所需的任何東西都被分組到一個類中

希望這有助於!