模型成员值未更新

时间:2017-08-04 10:42:16

标签: asp.net asp.net-mvc asp.net-mvc-5

我是asp.mvc的新手,我试图找出为什么当我尝试通过EditorFor帮助程序更新模型的值时,它不会发送更新的值。

我必须遵循严格的代码约定,我的参数必须以前缀(bln / str / int等)开头

如果我保留没有前缀的其他参数(permissionKey / stationKey / username),则收到的值是更新的值(我需要的值)。

[HttpPost, ActionName("Save")]
public ActionResult Save(int intId, string permissionKey, string stationKey, string username)
{
    var perm = _repository
        .Get(row => row.Id == intId)
        .First();

    perm.PermissionKey = permissionKey;
    perm.StationKey = stationKey;
    perm.Username = username;

如果我将定义更改为strPermissionKey / strStationKey / strUsername,我将收到模型的旧值。

型号:

public class EditablePermissionRowModel
{
    public int Id { get; set; }
    public string PermissionKey { get; set; }
    public string StationKey { get; set; }
    public string Username { get; set; }
    public bool EditPressed { get; set; } = false;
}

我的Html看起来像这样:

@using (Html.BeginForm("Save", "Permissions"))
{

@*@Html.AntiForgeryToken()*@
@Html.HiddenFor(m => m.Id)
.... more html....
            <button type="submit" class="btn btn-link">
            <span class="glyphicon glyphicon-ok"></span>
        </button>

我还试图将我需要的所有参数都包含在内。     @ Html.Hidden(&#34; strPermissionKey&#34;,Model.PermissionKey);

但这仍然没有奏效。 (还尝试了@ Html.Editor(&#34; strPermissionKey&#34;,Model.PermissionKey)但没有运气)

我错过了什么?

编辑: @StephenMuecke帮助并指出我只需要将模型作为参数传回......这样做了。问题解决了。

此:    public ActionResult Save(EditablePermissionRowModel udtModel){    ......代码......

0 个答案:

没有答案