[英]Dynamically disabling form fields in MVC 3 with Razor
我在Razor視圖中有一個較大的表單,並希望根據要傳遞的模型對象的狀態來禁用某些表單元素。因此,必須定義一些邏輯以確定是否顯示此元素,並將其顯示為-僅或使其可編輯。
我目前的想法是引導我使用此處的邏輯定義一些Razor @helper,盡管我不確定這是否是最好的方法。 有一些像 ...
@helper determineElementStatus(string modelProperty)
{
if (modelProperty == someState) {
@Html.TextBoxFor....etc
}
}
@determineElementStatus(model.someProperty)
確實,我不確定該視圖是否正確。 它實際上是表示邏輯,它改變了表單的外觀,但是在其他地方以及如何放置是最好的? 幫助將不勝感激。
在視圖中,您可以控制更改CSS的邏輯。 例如,根據Model值的值,我創建displayMode並將其應用於HTML。
@{
string isInherited = Model.IsInheritedValue ? "editor-field inherColor" : "editor-field";
object displayMode = Model.IsDisabled ? new { @disabled = "disabled", @class = isInherited } : (object)new { @class = isInherited };
}
所以現在只要你顯示
@Html.TextBoxFor(x => x.Value, displayMode)
displayMode將確定如何顯示它。 希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.