C# 发布ajax表单MVC页面后丢失模型
我对Razor页面的理解非常陌生,在发布表单后检索模型数据时遇到了问题。它能够在页面加载时检索数据,但一旦我发布表单,模型就为空。这是一个大型公司项目的一部分,因此我很难发布所有数据,但下面是相关的代码片段:C# 发布ajax表单MVC页面后丢失模型,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我对Razor页面的理解非常陌生,在发布表单后检索模型数据时遇到了问题。它能够在页面加载时检索数据,但一旦我发布表单,模型就为空。这是一个大型公司项目的一部分,因此我很难发布所有数据,但下面是相关的代码片段: @inherits ViewPage<ViewModels.User.SignUp.VerifyActivationCodeModel> @using (Ajax.BeginForm(nameof(SignUpController.VerifyActivationCode),
@inherits ViewPage<ViewModels.User.SignUp.VerifyActivationCodeModel>
@using (Ajax.BeginForm(nameof(SignUpController.VerifyActivationCode),
SignUpController.ControllerName, null, new AjaxOptions
{
HttpMethod = "POST",
OnSuccess = "VerifyActivationCodePage.OnSuccess",
OnFailure = "ErrorHelper.HandleError"
}, new { id = "verifyActivationCodeForm", autocomplete = "off" }))
{
@Html.AntiForgeryToken()
<div class="">
<div class="">
<h3 class="">
@Html.Raw(Model.Title)
</h3>
</div>
</div>
<div class="">
<div class="">
<fieldset class="form-row">
@Html.TextBoxSensitiveFor(m => m.ActivationCode,
new
{
placeholder = string.Format(ResourceManager.GetResource("VerifyToken"), Model.Token),
@class = "in-text",
maxlength = "100"
})
// rest of form ...
@继承ViewPage
@使用(Ajax.BeginForm(nameof)(SignUpController.VerifyActivationCode),
SignUpController.ControllerName,null,新AjaxOptions
{
HttpMethod=“POST”,
OnSuccess=“verifyActivationDepage.OnSuccess”,
OnFailure=“ErrorHelper.HandleError”
},新的{id=“verifyactivationdeform”,autocomplete=“off”})
{
@Html.AntiForgeryToken()
@Html.Raw(Model.Title)
@Html.TextBoxSensitiveFor(m=>m.ActivationCode,
新的
{
占位符=string.Format(ResourceManager.GetResource(“VerifyToken”)、Model.Token),
@class=“在文本中”,
maxlength=“100”
})
//剩下的部分。。。
当我发布此表单时,我试图填充为占位符的Model.Token为“Null”,而在发布之前,它会从资源中成功填充
有人能提供帮助吗?谢谢。为了将数据绑定回您的操作,您应该在表单中提供这些数据 对于不希望在表单上显示的字段,可以使用:
@Html.HiddenFor(m => m.FieldName)
通过这种方式,它们将绑定回您的操作,但不会显示在您的表单上。在表单中添加@Html.HiddenFor(m=>m.Token),看看是否有帮助。这很有效,非常感谢@KevinAmorim!很好!将其作为答案发布:)