打印单选按钮的名称和 ID?

Print name and id of radio button?

我创建了一个单选按钮列表,当我 select 单选按钮并单击提交按钮时,我正在打印 selected 选项的 ID,我想打印名称和 ID selected 单选按钮。

我已尽我所能,但出现错误我不知道该怎么做。

这是我的模型。

public class Company
{
    public Nullable<int>  SelectedValue { get; set; }   
   
    public List<Department> Departments
    {
        get
        {
            SampleContext context = new SampleContext();
            return context.Departments.ToList();
        }
    }
}

我创建了一个方法(如下所示),但它不起作用

public string depName
{
    get
    {
        Department department = new Department();
        Company c = new Company();
        var dpname = department.Department_Name.Where(department.Department_Id == c.SelectedValue);
        return dpname;
    }
}

这是我的控制器代码

[HttpPost]
[ActionName("RadioDep")]
public string RadioDepartment(Company company)
{
    
    if (company.SelectedValue is null)
    {
        return "you did not select any department";
    }
    else
    {
        return "you selected"(i want my department name here) " department with id "+company.SelectedValue;
    }
}

这是查看代码

@model Testing_Helpers.Models.Company  
@{
    ViewBag.Title = "RadioDep";
}
<div style="font-family:Arial">
    <h2>RadioDep</h2>
    @using (@Html.BeginForm())
    {
        foreach(var department in Model.Departments)
        {
            @Html.RadioButtonFor(m => m.SelectedValue, department.Department_Id, 
            (department.IsSelected.HasValue && department.IsSelected.Value)? new {@checked = "checked"}:null)
            @department.Department_Name
            <br/>
        }

        <br/>
        <br/>
        <input type="submit" value="Submit" />
    }

</div>

也许添加 FirstOrDefault 可以解决问题。我不是专家,但既然你有一个部门列表,它可能会起作用。 试试这个:

[HttpPost]
    [ActionName("RadioDep")]
    public string RadioDepartment(Company company)
    {

            
            
            
        if (company.SelectedValue is null)
        {
            return "you did not select any department";
        }
        else
        { 
            //EDIT 1 : 
            var dpname = company.Departments.Where(x=>x.Department_Id == company.SelectedValue).FirstOrDefault().Department_Name;
            return "you selected"+dpname+" department with id "+company.SelectedValue;
        }
    }