gpt4 book ai didi

c# - Asp.net MVC 在不使用 html 助手的情况下重新填充表单

转载 作者:行者123 更新时间:2023-11-30 14:52:25 24 4
gpt4 key购买 nike

如果我在没有填写某些必填字段的情况下提交表单,当页面重新加载时出现错误,填写的字段会保留它们的值,但前提是我像这样使用 html 助手:

@using (Html.BeginForm())
{
@Html.ValidationSummary()
<p>Your name: @Html.TextBoxFor(x => x.Name) </p>
<p>Your email: @Html.TextBoxFor(x => x.Email)</p>
<p>Your phone: @Html.TextBoxFor(x => x.Phone)</p>
<p>
@Html.DropDownListFor(x => x.WillAttend, new[] {

<input new SelectListItem() {
Text = "Yes, I'll be there",
Value = bool.TrueString},
new SelectListItem() {
Text = "No, I can't come",
Value = bool.FalseString}
}, "Choose an option")
</p> type="submit" value="Submit RSVP" />
}

但我想使用常规的 html 而不是像这样的帮助程序(这样就不会记住这些值):

<form action="/Home/RsvpForm" method="post">
@Html.ValidationSummary()
<p>
Your name:
<input type="text" name="Name" value="" />
</p>
<p>
Your email:
<input type="text" name="Email" value="" />
</p>
<p>
Your phone:
<input type="text" name="Phone" value="" />
</p>
<p>
Will you attend?
<select name="WillAttend">
<option value="">Choose an option</option>
<option value="true">Yes</option>
<option value="false">No</option>
</select>
</p>
<button>Submit</button>
</form>

那么如何在不使用 html 助手的情况下让表单记住正确输入的值,这可能吗?

编辑:模型和整个 View

GuestResponse 模型:

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

namespace PartyInvites.Models
{
public class GuestResponse
{
[Required(ErrorMessage="Enter name")]
public string Name { get; set; }

[Required(ErrorMessage = "Enter email")]
public string Email { get; set; }

[Required(ErrorMessage = "Enter phone")]
public string Phone { get; set; }

[Required(ErrorMessage = "Specify")]
public bool? WillAttend { get; set; }



}
}

全貌:

@model PartyInvites.Models.GuestResponse

@{
Layout = null;
}

<!DOCTYPE html>

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>RsvpForm</title>
</head>
<body>
<form action="/Home/RsvpForm" method="post">
@Html.ValidationSummary()
<p>
Your name:
<input type="text" name="Name" value="" />
</p>
<p>
Your email:
<input type="text" name="Email" value="" />
</p>
<p>
Your phone:
<input type="text" name="Phone" value="" />
</p>
<p>
Will you attend?
<select name="WillAttend">
<option value="">Choose an option</option>
<option value="true">Yes</option>
<option value="false">No</option>
</select>
</p>
<button>Submit</button>
</form>
</body>
</html>

最佳答案

您可以使用常规 html,只需设置输入文本的值,即可接收您的 model.property,例如:

<input type="text" name="Phone" value="@Model.Phone" />

关于c# - Asp.net MVC 在不使用 html 助手的情况下重新填充表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31710239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com