Search code examples
javascriptc#asp.net-corerazor-pagesviewbag

Passing a javascript function's parameter to a ViewBag as index of a list


Here's my problem :

<script>
    function getWSId(clicked_id){
        
        document.getElementById('Edit').value = @(ViewBag.PAAF[clicked_id].Id);
        
    }
</script>

The problem is that i cannot use the clicked_id inside my ViewBag, it shows this error :

error CS0103: The name 'clicked_id' does not exist in the current context

How can i pass the value of my JS parameter into my ViewBag please ?

Thanks


Solution

  • C#:

    ViewBag.Key="YourData";
    

    Js :

    <script>
    function getWSId(clicked_id){        
    document.getElementById('Edit').value = @(ViewBag.key);       
    }
    </script>
    

    Note : if You Bind A Model To ViewBag , Need Cast ViewBag To You Model

    For Example :

    C# :

    ViewBag.Persons=_db.People.ToList();
        
    

    View Side :

    @{
    var persons=(List<Person>)ViewBag.Persons;
    }