0

何も問題がない場合は申し訳ありませんが、ViewがViewModelをバインドしていません。何度もデバッグしましたが、ブレークポイントがアクションラインにある場合、モデルにデータがありません。プロジェクトの他のビューは正常に機能します。

アクション:

[HttpPost]
public ActionResult Index_Funcionario(FuncionariosViewModel viewModel)
{
...

意見

@model ZebraStudio.Models.FuncionariosViewModel

@{
ViewBag.Title = "Index_Funcionario";
}


<div class="main-field">
<div class="linha-cabecalho">
    <div class="aba">Consulta</div>
    <div class="area">Funcionários > Consultar</div>
</div>
<div class="sub-field">

    <div class="search-field">
        @using (Html.BeginForm())
        { 


            <div class="floatleft">
            @Html.RadioButton("TipoFiltro", "1", new { @class = "radioFloat" })
            <div >Código: @Html.TextBoxFor(model => model.cod_Usuario, new { @class = "customeditor"})</div>
            </div>

            <div class="floatleft">
            <div class="radioFloat">@Html.RadioButton("TipoFiltro", "2", new { @class = "radioFloat" })</div> 
            <div>Nome: @Html.TextBoxFor(model => model.nome, new { @class = "customeditor"})</div>
            </div>

            <div class="floatleft">
            @Html.RadioButton("TipoFiltro", "3", true, new { @class = "radioFloat" })
            <div class="inline">Listar Todos.</div>
            </div>
                <br />


            <input type="submit" value="Buscar" class="searchbutton"/>

        }
        </div>



    <table class="search-result">
        <tr>
            <th>Código</th>
            <th>Nome</th>
            <th>Email</th>
            <th>Tipo de Usuário</th>
            <th>Ações</th>
        </tr>
        @foreach (var usuario in Model.usuarios)
        {
            <td>@usuario.UserId</td>
            <td>@usuario.Nome</td>
            <td>@User.Identity.Name</td>
            <td>@foreach (var role in Roles.GetRolesForUser())
                {
                    @role
                }
            </td>
            <td></td>
        }


    </table>


</div>

ViewModel

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace ZebraStudio.Models
{
public class FuncionariosViewModel
{
    public IEnumerable<Usuario> usuarios;

    public Usuario usuario;

    public string nome;

    [DataType(DataType.EmailAddress)]
    public string Email;

    public string password;

    public int opcao_Selecionada;

    public int cod_Usuario;

}
}

何か間違っていますか?私を助けてください。

4

1 に答える 1

0

ASP.NetMVCモデルバインディングはフィールドをサポートしていません。
それらをプロパティに変更する必要があります。

自動実装されたプロパティを使用できます。

public string Email { get; set; }
于 2013-02-01T04:24:30.430 に答える