TrangZinita
TrangZinita

Reputation: 107

Razor get value of input HTML bounded by foreach

I have one following table html, the data of rows in the table is looped by foreach.

Can I use Razor to get the value of each row into a List or an array in C#?

My C# code Razor (I tried this so far)

 @{
           var l = new List<string>();                         
           l.Add(@<input id="updated_value2" data-bind="value:value,visible:isEditing()" />);
       }

Here's my table

<table class="table table-hover">
        <tbody data-bind="foreach: $root.mapJsons(parameters())">
            <tr class="data-hover">
                <td>
                    <strong>
                        <span data-bind="text:key" />
                    </strong>
                </td>
                <td>

                    @*display label and input for dictionary<value> false DIS true APP*@
                    <input id="updated_value" data-bind="value:value,visible:isEditing()" />
                    <label id="display_value" data-bind="text:value,visible:!isEditing()" />
                </td>
            </tr>
        </tbody>
        <thead>
            <tr>
                <th style="width: 30%">
                    Name
                </th>
                <th style="width: 30%">
                    Value
                </th>
                <th></th>
            </tr>
        </thead>
    </table>

Upvotes: 0

Views: 585

Answers (1)

RogerN
RogerN

Reputation: 3821

Your foreach loop is being executed client-side (looks like a KnockoutJS binding?) rather than server-side, so any Razor code you embed in the table is only going to be called once as it's rendered by the server. So the answer is no, you cannot populate a server-side list with this particular foreach loop.

Upvotes: 1

Related Questions