簡體   English   中英

如何基於索引中控件的onchange事件在MVC 5視圖中設置隱藏字段的值

[英]How to set value of hidden field in mvc 5 view based on the onchange event of a control that is in an index

所以我在這樣的模型中有一個列表:

public class model
{
    public string value1 {get;set;}
    public string value2 {get;set;}
    public List<subModel> value3 {get;set;}
}

public class subModel
{
    public string value4 {get;set;}
    public string value5 {get;set;}
    public bool dirtyFlag {get;set;}
}

在我看來,我可以這樣顯示此模型:

@for (int i = 0; i < Model.subModel.Count; i++ )
{
    @Html.DropDownListFor(model => model.subModel[i].value4, Model.value4Lookup, 
          Model.subModel[i].value4, new { onchange = "MarkRecordDirty()" })
}

我希望能夠使用下拉列表的onchange事件將dirtyFlag設置為true,但是我不確定如何將Model.subModel [i] .value4中[i]的值傳遞給javascript函數MarkDirtyRecord()

有任何想法嗎? 謝謝

好吧,如果您需要做的就是將i的值傳遞給客戶端代碼,則可以使用字符串串聯來實現:

onchange = "MarkRecordDirty(" + i.ToString() + ")"

循環的每次迭代都會創建新的輸出,因此生成的標簽將具有不同的輸出:

... onchange="MarkRecordDirty(0)" ...
... onchange="MarkRecordDirty(1)" ...
... onchange="MarkRecordDirty(2)" ...
... onchange="MarkRecordDirty(3)" ...
etc.

至於所問的確切問題,應該可以解決。 但是,我懷疑這個問題可能還有更多。 至少在假定依賴記錄順序的情況下,這將使代碼相當脆弱。 那可能不會引起任何問題,但是可能會再次出現。 我不知道您要構建的整體解決方案的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM