2016-04-04 19 views
0

Kullanıcılarımın nasıl oy kullandığını seçmek için kullanacağı radyo düğmeleri listem var. Seçimin kaydetmek için önceki seçimi beklemek zorunda kalmadan seçimleri yapmaya devam etmesine izin vermek için seçimi eşzamansız olarak yapıldığında kaydetmek istiyorum.Hatalı uyarıları bir radyo kanalında kaydetme

İdeal olarak, kaydetme tamamlandığında bazı göstergeleri güncelleyebilmem gerekir.

ben denetleyicisi TopicID VoterID ve SelectionValue

Bunu yapmanın kolay bir yolu var mı gönderilmek üzere ihtiyaç sadece 3 değerlere sahip? Bunun kolay olması gerektiğini düşünüyorum ama işe yarayan bir şansım yok.

[AcceptVerbs("POST")] 
    public async Task<bool> UpdateVoteRecord(int TopicID, int VoterID, string SelectionValue) 
    { 

     bool retval = await Task.Run(() => helper.SaveVoteRecord(TopicID, VoterID, SelectionValue)); 
     return retval; 
    } 

cevap

1

Sen radyo düğmesini change olayı dinlemek ve seçimi kaydetmek için bir ajax arama yapabilirsiniz. Bu

<input type="radio" name="someName" class="mySelection" value="1" /> 
<input type="radio" name="someOtherName" class="mySelection" value="2" /> 
<input type="hidden" value="100" id="TopicId" /> 
<input type="hidden" value="25" id="VoterId" /> 

JavaScript

$(function(){ 

    $("input.mySelection").change(function(){ 

    var v=$(this).val(); 
    var url="@Url.Aciton("UpdateVoteRecord","YourController")"; 

    $.post(url,{ SelectionValue : v, TopicID : $("#TopicId").val(), 
             VoterID : $("#VoterId").val() },function(res){ 
     //do something with res now; 
     console.log(res); 
     }); 
    }); 

}); 

Ben eylem yöntemine doğru göreceli url oluşturmak için Url.Action yardımcı yöntemi kullanılır gibi render HTML biçimlendirmesi varsayarsak görünüyor. Bu kod, js kodunuz jilet görünümündeyse çalışır. Kodunuz harici bir js dosyasındaysa, here açıkla yöntemini kullanın.