Jak przkazać zmienna do pola modalnego

0

Witam
Mam pole w tabeli które mogę klikać zrobione w Asp.Net MVC i do tego zrobiłem okno modalne. W oknie modalnym mam formularz. Gdy kliknę w ten link:

<p data-toggle="modal" data-target="#myModal">do koszyka</p> 

otwiera mi się okno modalne. Problem polega na tym jak zrobić by dla każdego przycisku pobrać jego id z bazy danych i przekazać je do pola modalnego by tam można było to wykorzystać do wstawienia w pole input? Chodzi mi o przykład jak tego dokonać. Szukałem w necie ale nie mogę znaleźć.

0

Przekaż model do widoku.

0

Ale to problem masz z C# czy z JS?

0

Mam problem z C#. Mianowicie robie tak:

@foreach (var item in Produkty)
        {            
            <tr class>
                <td>
                    @Html.DisplayFor(modelItem => item.Nazwa)
                </td>               
                <td>
                    <input type="hidden" id="field1" value="@Html.DisplayFor(modelItem=>item.Id)" />
                    <p data-toggle="modal" data-target="#myModal" onclick="myFunction()">do koszyka</p>
                    
                </td>

<script>
function myFunction() {
    document.getElementById("field2").value = document.getElementById("field1").value;
}
</script>

Mam funkcję js która po kliknięciu w przycisk do koszyka zmienia wartość pola field2 na pole field1 z tym że w linii:

<input type="hidden" id="field1" value="@Html.DisplayFor(modelItem=>item.Id)" />

za każdym razem i przy każdym polu wyświetla mi cyfrę 6 jaki wartość. Dlaczego tak się dzieje? Mam 6 kolumn w tabeli. Ma to jakieś powiązanie?

0

Przypuszczam że generuje ci coś takiego

<input type="hidden" id="field1" value="1" />
<input type="hidden" id="field1" value="2" />
<input type="hidden" id="field1" value="3" />
<input type="hidden" id="field1" value="4" />
<input type="hidden" id="field1" value="5" />
<input type="hidden" id="field1" value="6" />

a document.getElementById("field1") bierze zawsze ostatni input

btw zamiast value="@Html.DisplayFor(modelItem=>item.Id)"
wystarczy value="@item.Id"

0

Dziękuję kolego dam1an. Mam jeszcze jeden problem. Mając pole w formularzu w stylu:

<div class="pole">
                        <p>Tytuł:</p>
                        <input type="text" name="tytul" class="pole2" id="field2" />
                    </div>

Próbuję pobrać jego wartość i przekazać do kontrolera.

<a href="@Url.Action("DodajDoKoszyka","Koszyk", new { nazwa=3,})"><input type="button" value="OK" /></a>

I nie chce mi działać. Działa jak przekażę sztywno np nazwa=3. A chcę wpisywać w formularzu i klikając w przycisk tą wartość przekazywać do kontrolera. Próbowałem zrobić coś w stylu poniżej z użyciem js ale nie chce mi działać.

 function myFunction2() {
    nazwa2 = document.getElementById("field2").value;    

var url='@Url.Action("DodajDoKoszyka", "Koszyk", new { nazwa = 2 })'
}

Proszę o jakieś sugesie jak to rozwiązać? Przekazać jakość wartość pola za pomocą .net czy z js kombinować?

1 użytkowników online, w tym zalogowanych: 0, gości: 1