Идентификаторды li-дан оқып, оны C # кодын артына қалай көшіруге болады?

Менде jQuery сұрыпталуы арқылы толтырылған 10 li-мен бар. Әрбір лиде идентификаторы бар жасырын ені бар. Пайдаланушыларды ASP.NET түймешігі басылған кезде, идентификаторларды қалай оқып, оларды C# кодынен өткізуге болады?

Міне, менің ойым:

  1. Барлық идентификаторларды ілмекпен шығарып, оларды массивке шығаратын jQuery функциясын құрыңыз.
  2. C# -ге ғана алапты өтіңіз.
  3. Кодтың артында: массивтерді оқып, маған керек нәрсені жасаңыз.

Менің мәселе:

  1. jQuery массивін жасау үшін не істейтінін білмеймін
  2. Мен массивді
  3. артындағы кодтан қалай өту керек екенін білмеймін
  4. Менің кодымдағы жиымды қалай оқуға болатындығын білмеймін

Кез келген көмекті бағалайды.

Рахмет!

    
  • 3

    Comp Title

  • 
    
  • 18

    Comp Title

  • 
    
  • 103

    Comp Title

  • 
    
  • 6

    Comp Title

  • 
    
  • 25

    Comp Title

  • 
    
    
    1
    Сондай-ақ, кеңістіктердің орнына жасырын өрнектер өрістерін қолдануға болады, содан кейін оларды кез-келген басқа пішін енгізу сияқты серверде оқуға болады.
    қосылды автор Mike Christensen, көзі
    Мен $ .get кері шақыру функциясымен таныс емеспін, бірақ мен түсінемін, алайда C# -де алапты қалай оқуға болатындығын білмеймін:
    қосылды автор Barrett Kuethen, көзі

    3 жауаптар

    First you need to make id's unique, I would replace the id's of the tags with classes.

    Өзгерту:

  • 25

    Comp Title

  • 
    

    Кімге:

  • 25

    Comp Title

  • 
    

    JQuery үшін сіз келесідей нәрсені жасай аласыз:

    $('#button_id').bind('click', function() {
        var arr = {};//create new object (empty)
        $('#ul_id').find('.competencyID').each(function (index, value) {
            arr[index] = $(value).text();
        });
        //send data to server-side script
        $.get('path/to_server.file', $.param(arr), function (response) {
            //this is the callback function, once your server-side script runs you can output data that you can retrieve here via the response variable
        });
    });
    

    Here is a jsfiddle of collecting the id's and adding them to a JavaScript object: http://jsfiddle.net/rre47/1/

    - UPDATE -

    Серверлік сценарийлермен оңайырақ талдау мүмкін болатын идентификаторлар жиымын қайтарғыңыз келсе келесі кодты қолдануға болады:

    Өзгерту:

    var arr = {}; to var arr = {'id' : []};

    And Өзгерту:

    $.param(arr) to decodeURIComponent($.param(arr))

    Шығару келесідей болады:

    id[]=3&id[]=18&id[]=103&id[]=6&id[]=25
    

    jsfiddle of the above code: http://jsfiddle.net/rre47/4/

    2
    қосылды
    @ Jasper- CompetencyID - бұл ul-ды asp.net ретрансляторы арқылы толтырғаннан бері міндетті болып табылады. Көмектесуге рақмет!
    қосылды автор Barrett Kuethen, көзі
    @ Jasper- C# ішіндегі массивді алудың мысалын бересіз бе?
    қосылды автор Barrett Kuethen, көзі
    +1: Шынында жақсы шешім, бірақ JSON-кодты кодтауды жеңілдетуі мүмкін. JSON жиымын жасау үшін жауапыңызды қайта қарасаңыз, бұл шынымен оңай болады.
    қосылды автор James Johnson, көзі
    Кешіріңіз, мен C #-мен таныс емеспін, бірақ жылдам Google іздеуі перспективалы болып көрінді: google.com/search?q=C%23+querystring+array
    қосылды автор Jasper, көзі

    Серверге баруға болатын деректерді сақтау үшін, спистілердің орнына Жасырын өрістерді пайдалану керек:

    <input type="hidden" name="competencyTitle" value="Comp Title" />
    

    Бұл жасырын өрістерді Request.Params сипатын пайдаланып серверде оқуға болады:

    var value = Request.Params["competencyTitle"];
    
    0
    қосылды

    Take a look at this : http://msdn.microsoft.com/en-us/library/byxd99hx%28v=vs.71%29.aspx

    Сіз веб әдісін жасай аласыз және оны JavaScript арқылы қоңырау шалсаңыз, сіз қоңырау шалғанда JavaScript айнымалысы арқылы өтуге болады.

    Одан кейін сізде JavaScript айнымалы мәндерін кодты аласыз.

    Цикл үшін:

    $('li').each(function(index) {
        alert(index + ': ' + $(this).text());
    });
    
    0
    қосылды