Click here to Skip to main content
11,721,053 members (80,928 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: ASP.NET MVC validation Razor , +
Hi,

I am using ASP.NET, MVC 3, Razor
I use Remote for server validation. My problem is the checked value of RadioButton is always the value of the first RadioButton

My Model:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
 
namespace AdminSite.Models
{
    public class GroupAndCM
    {
        [Key]
        public int GroupAndCMID { get; set; }
        
        [Display(Name = "Group")]
        [Required(ErrorMessage = "Group is required.")]
        [Remote("ValidateGroupAndCM", "AccessCtrl", AdditionalFields = "selectedCMID", HttpMethod = "Post", ErrorMessage = "Selected CM is set for this Group.")]
        public int? GroupID { get; set; }
 
        [Display(Name = "CM")]
        [Required(ErrorMessage = "CM is required.")]
        public int CMID { get; set; }
 
        public virtual Group Group { get; set; }
        public virtual CM CM { get; set; }
    }
}

My View

<div class="editor-field">
            <table style="width:100%;">
                <tr>
                    @{
                        int cnt = 0;
                        foreach (AdminSite.Models.CM cm in ViewBag.CMs)
                        {
                            if (cnt++ % 3 == 0)
                            {
                                @: </tr>

And here is my Controller

public ActionResult ValidateGroupAndCM(int groupID, int? selectedCMID)
        {
            bool flag = true;
            int t = (int)selectedCMID;
            var query = from gc in db.GroupAndCMs
                        where gc.GroupID == groupID && gc.CMID == t
                        select gc;
            if (query.SingleOrDefault() != null)
            {
                flag = false;
            }
 
            return Json(flag, JsonRequestBehavior.AllowGet);
        }


When user select a value from Group (DropDown), it will trigger then function ValidateGroupAndCM of controller:

public ActionResult ValidateGroupAndCM(int groupID, int? selectedCMID)

The value of "groupID" is OK, exactly as seleted value
but the "selectedCMID" is wrong, it is always return the value of the first RadioButton although the second RadioButton is selected.

This is the view rendered:

<input id="selectedCMID" name="selectedCMID" type="radio" value="1"> RadioButton1
<input id="selectedCMID" name="selectedCMID" type="radio" value="2"> RadioButton2

Please help!

Sorry for my english Smile | :)
Posted 19-Sep-12 23:51pm
Comments
Thanh Hoang at 1-Oct-12 22:12pm
   
Hello, anybody... help...

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 500
1 OriginalGriff 334
2 Mika Wendelius 160
3 F-ES Sitecore 140
4 Maciej Los 80
0 Sergey Alexandrovich Kryukov 2,199
1 OriginalGriff 959
2 F-ES Sitecore 640
3 Maciej Los 609
4 Richard MacCutchan 540


Advertise | Privacy | Mobile
Web02 | 2.8.150901.1 | Last Updated 20 Sep 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100