视图(单选按钮)和控制器之间的通信失败
Communication between View(radio button) and Controller failing
我有两组单选按钮,每个按钮都必须 select 一个选项,然后它应该在控制器中填充一个“string[] pergunta”。但是“string[] pergunta”总是“null”。我想问题可能出在我应该把 id 放在哪里。
@foreach (var pergunta in Model.ls_pergunta)
{
<div class="form-group has-feedback">
<div class="col-xs-12">
<label for="co_pergunta_avaliacao" class="control-label">@pergunta.tx_pergunta</label>
</div>
<div class="col-xs-8 estrelas" id="pergunta">
@{
int i = 1;
foreach (var item in @pergunta.ls_opcoes)
{
<label for="cm_star-@item.Value"><i class="fa"></i></label>
<input type="radio" id="cm_star-@item.Value" name="pergunta_@pergunta.co_pergunta" value=@item.Value />
i++;
}
}
</div>
</div>
我的控制器:
public ActionResult Avaliar(string[] pergunta, int co_atendimento, string tx_observacao)
{
foreach (var item in pergunta)
{
aactb007_avaliacao_ocorrencia avaliacao = new aactb007_avaliacao_ocorrencia();
avaliacao.co_atendimento = co_atendimento;
avaliacao.co_pergunta_avaliacao = Convert.ToInt32(item.Split('_')[0]);
avaliacao.co_parametro = Convert.ToInt32(item.Split('_')[1]);
db.aactb007_avaliacao_ocorrencia.Add(avaliacao);
}
var usuario_sys = Usuario.logado.Co_usuario;
//var usuario_sys = Environment.UserName;
db.SaveChanges();
}
问题出在名字上。所以我改成 name="pergunta[i]" 并开始工作。
int i = 0;
foreach (var item in @pergunta.ls_opcoes)
{
<label for="cm_star-@item.Value"><i class="fa"></i></label>
<input type="radio" id="cm_star-@item.Value" name="pergunta[i]" value=@item.Value />
i++;
}
我有两组单选按钮,每个按钮都必须 select 一个选项,然后它应该在控制器中填充一个“string[] pergunta”。但是“string[] pergunta”总是“null”。我想问题可能出在我应该把 id 放在哪里。
@foreach (var pergunta in Model.ls_pergunta)
{
<div class="form-group has-feedback">
<div class="col-xs-12">
<label for="co_pergunta_avaliacao" class="control-label">@pergunta.tx_pergunta</label>
</div>
<div class="col-xs-8 estrelas" id="pergunta">
@{
int i = 1;
foreach (var item in @pergunta.ls_opcoes)
{
<label for="cm_star-@item.Value"><i class="fa"></i></label>
<input type="radio" id="cm_star-@item.Value" name="pergunta_@pergunta.co_pergunta" value=@item.Value />
i++;
}
}
</div>
</div>
我的控制器:
public ActionResult Avaliar(string[] pergunta, int co_atendimento, string tx_observacao)
{
foreach (var item in pergunta)
{
aactb007_avaliacao_ocorrencia avaliacao = new aactb007_avaliacao_ocorrencia();
avaliacao.co_atendimento = co_atendimento;
avaliacao.co_pergunta_avaliacao = Convert.ToInt32(item.Split('_')[0]);
avaliacao.co_parametro = Convert.ToInt32(item.Split('_')[1]);
db.aactb007_avaliacao_ocorrencia.Add(avaliacao);
}
var usuario_sys = Usuario.logado.Co_usuario;
//var usuario_sys = Environment.UserName;
db.SaveChanges();
}
问题出在名字上。所以我改成 name="pergunta[i]" 并开始工作。
int i = 0;
foreach (var item in @pergunta.ls_opcoes)
{
<label for="cm_star-@item.Value"><i class="fa"></i></label>
<input type="radio" id="cm_star-@item.Value" name="pergunta[i]" value=@item.Value />
i++;
}