[英]How to check what rendered partial view?
我想在這些div元素中呈現通用數據。
<div id=element1>
@Htm.Partial("CommonView")
@*Other data...*@
</div>
<div id=element2>
@Htm.Partial("CommonView")
@*Some other data...*@
</div>
<div id=element3>
@Htm.Partial("CommonView")
@*More other data...*@
</div>
我的共同觀點是這樣的
<input id="txtSomethingElse" class="input"/>
我不能在同一頁面上使用具有相同ID的元素,但是我需要能夠從input
元素中獲取值。 我如何才能使一些Razor邏輯成為現實,這些邏輯會為txtSomethingElse
添加前綴或后綴
我希望這樣渲染
<div id=element1>
<input id="txtSomethingElse_1" class="input"/>
</div>
<div id=element2>
<input id="txtSomethingElse_2" class="input"/>
</div>
<div id=element3>
<input id="txtSomethingElse_3" class="input"/>
</div>
您可以輕松使用Html.Partial方法的重載
PartialExtensions.Partial Method (HtmlHelper, String, Object)
http://msdn.microsoft.com/zh-CN/library/ee402926(v=vs.108).aspx
允許您將模型傳遞給局部視圖,在您的情況下,局部視圖可以是表示索引的整數
因此您將部分視圖更改為<input id="txtSomethingElse_@Model.ToString()" class="input"/>
,其中Model的類型為int
並且您要呈現此視圖的代碼將更改為
<div id=element1>
@Htm.Partial("CommonView", 1)
@*Other data...*@
</div>
<div id=element2>
@Htm.Partial("CommonView", 2)
@*Some other data...*@
</div>
<div id=element3>
@Htm.Partial("CommonView", 3)
@*More other data...*@
</div>
您可以執行類似的操作,例如說您的模型具有Id屬性
<input id="txtSomethingElse@Model.Id" class="input" />
我不太擅長剃須刀,但是我知道老式的語法會起作用
<input id="txtSomethingElse<%: Model.Id %>" class=input />
你不能做:
@Html.InputFor(m => m.FirstThing, new { @id = @Model.FirstThing.Id + "txtSomethingElse" })
@Html.InputFor(m => m.SecondThing, new { @id = @Model.SecondThing.Id + "txtSomethingElse" })
...
比其他答案更具可讀性/更容易。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.