【问题标题】:C# Razor getting null for radio buttonC# Razor 为单选按钮获取 null
【发布时间】:2016-06-15 02:17:13
【问题描述】:

我在提交服务器端为我的单选按钮获得了 null 值。该模型的所有其他属性都可以。

这是带有单选按钮的部分视图:

Traitement @Html.RadioButtonFor(m => Model.SearchQuery.TypeService,  "Traitement",new { @id="rbTraitement"})
Catégorisation @Html.RadioButtonFor(m => Model.SearchQuery.TypeService, "Catégorisation", new { @id = "rbCat" })

在我的模型中,这是属性:

[Display(Name = "Service responsable du traitement ou de la catégorisation", Prompt = "Service responsable du traitement ou de la catégorisation")]
public string TypeService { get; set; }

在控制器中:

[HttpPost]
public ActionResult SearchTraitement(SearchQueryModel query)
{
  var searchResult = CurrentPlainteBO.SearchPlaintes(query);
  return PartialView("_resultsTraitement", searchResult);
}

【问题讨论】:

  • 控制器中的方法其实是这样的: [HttpPost] public ActionResult SearchTraitement(SearchQueryModel query) { var searchResult = CurrentPlainteBO.SearchPlaintes(query); return PartialView("_resultsTraitement", searchResult); }
  • 您可以在您的视图中发布@model 表达式吗?另外,SearchQuery 是 SearchQueryModel 的属性吗?

标签: c# razor radio-button


【解决方案1】:

以下简化代码有效:

查看:

@model c_sharp_razor_getting_null.Models.SearchQueryModel

@{
    Layout = "~/Views/Shared/_LayoutPage.cshtml";
}

@{Html.BeginForm();}
Traitement @Html.RadioButtonFor(m => Model.TypeService, "Traitement", new { @id = "rbTraitement" })
Catégorisation @Html.RadioButtonFor(m => Model.TypeService, "Catégorisation", new { @id = "rbCat" })
<input type="submit" name="OKButton" value="OK" />
@{Html.EndForm();}

控制器:

public class HomeController : Controller
{
    public ActionResult Index() {
        SearchQueryModel searchQuery = new SearchQueryModel() { TypeService = "Catégorisation" };
        return View(searchQuery);
    }

    [HttpPost]
    public ActionResult Index(SearchQueryModel query)
    {
        return View(query);
    }
}

型号:

public class SearchQueryModel
{
    [Display(Name = "Service responsable du traitement ou de la catégorisation", Prompt = "Service responsable du traitement ou de la catégorisation")]
    public string TypeService { get; set; }
}

【讨论】:

    【解决方案2】:

    我以编写常规 HTML 结束。没有任何效果:

      Traitement<input type="radio" name="TypeService" value="Traitement" checked="checked">
                        &nbsp;&nbsp;&nbsp;&nbsp;Catégorisation<input type="radio" name="TypeService" value="Catégorisation">
    

    【讨论】:

      猜你喜欢
      • 2019-08-14
      • 2017-03-02
      • 2016-09-22
      • 2012-10-18
      • 2015-06-15
      • 2013-09-28
      • 2014-12-05
      • 2011-07-28
      • 2017-09-20
      相关资源
      最近更新 更多