【问题标题】:passing a Guid from a view back to corresponding controller action将 Guid 从视图传递回相应的控制器操作
【发布时间】:2013-07-29 14:07:56
【问题描述】:
<div class="col1">
@foreach (var item in Model.ListApplications.Select((model) => new { model }))
{
    <div class="col1">
        <fieldset>
            <p><span class="bold-text">Application ID: </span>@item.model.ApplicationId</p>

            <p><span class="bold-text">First Name: </span>@item.model.FirstName</p>

            <p><span class="bold-text">Last Name: </span>@item.model.LastName</p>

            <p><span class="bold-text">Programme Name: </span>@item.model.ProgrammeDesc</p>

            <p><input id="submit-button" class="form-submit-button" type="submit" value="continue application" /></p>                        
        </fieldset>
    </div>
}   
</div>

上面的代码是在一个页面上找到的,用于选择以前启动的应用程序,用户可以选择继续填写。当点击提交按钮时,需要将特定应用程序的Application Id返回给这个控制器动作:

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult PreviousApplications(ListApplicationViewModel model)
    {
        return RedirectToAction("PersonalDetails");
    }

一个用户可能有多个应用程序。

我该如何实施?

【问题讨论】:

  • 你的 class="col1" div 在表单标签中吗?
  • 是的,它在 @{ Html.BeginForm(); } 和 @{ Html.EndForm(); } 部分编译后显示为表单标签
  • 你使用了 Html.Hidden() 吗?它对我的工作总是很好
  • 是的,我创建了一个@Html.Hidden,名称设置为ApplicationId,并将值设置为回发时的ApplicationId Guid,然后将值分配给viewmodel中的ApplicationId值
  • 使用 Html.Hidden() 后问题解决了吗?

标签: c# asp.net-mvc-4 view controller


【解决方案1】:

您使用的是 @Html.Hidden() 还是 @Html.HiddenFor() ?它对我来说总是很好 例如

@Html.HiddenFor(@item.model.ApplicationId)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多