gpt4 book ai didi

c# - 动态数量的文本框(输入)MVC

转载 作者:太空宇宙 更新时间:2023-11-03 13:30:58 26 4
gpt4 key购买 nike

在我的表格 (razorview) 中,我希望用户输入他们会带来多少人参加。

输入数字后,我想显示与数字一样多的文本框。

我怎样才能做到这一点?起初我想我可以生成所有的文本框,但首先用 css 隐藏它们。在输入数字时,我可以用 javascript 显示计数。但是,如果我确定了 20 个输入,而他们想要带来更多,这可能是个问题。

怀疑是否有人需要代码来告诉我应该如何开始,但我将其放在此处。

这是我目前的观点:

@model SolutionName.Website.Presentation.Web.Models.KonferanseModel

<link href="~/Content/ContactForm.css" rel="stylesheet" />

<h3>Påmeldingsskjema</h3>
@using (Html.BeginForm("Konferansepamelding", "Page", FormMethod.Post))
{
@Html.HiddenFor(m => m.KonferanseNavn)
<div class="form-horizontal">
<div class="control-group">
<div class="controls">
@Html.TextBoxFor(m => m.KontaktNavn, new { placeholder = "Kontaktperson" })<br />
</div>
</div>
<div class="control-group">
<div class="controls">
@Html.TextBoxFor(m => m.FirmaNavn, new { placeholder = "Firmanavn" })<br />

</div>
</div>
<div class="control-group">
<div class="controls">
@Html.TextBoxFor(m => m.FirmaAdresse, new { placeholder = "Firmaadresse" })<br />
</div>
</div>
<div class="control-group">
<div class="controls">
@Html.TextBoxFor(m => m.FirmaTelefon, new { placeholder = "Firmatelefon" })<br />

</div>
</div>
<div class="control-group">
<div class="controls">
@Html.TextBoxFor(m => m.KontaktEpost, new { placeholder = "Epostadresse" })<br />
</div>
</div>
<div class="control-group">
<div class="controls">
@Html.TextBoxFor(m => m.NumberOfPeople, new { placeholder = "Antall deltakere" })<br />
</div>
</div>
<div class="control-group">
<div class="controls">
@Html.TextBoxFor(m => m.FakturaInformasjon, new { placeholder = "Fakturaadresse" })<br />
</div>
</div>
<div class="control-group">
<div class="controls">
@Html.TextAreaFor(m => m.Names, new { placeholder = "Navn på deltakere" })<br />
</div>
</div>
</div>
<input class="btn" type="submit" value="Send" /><br />
<br />
@Html.ValidationSummary(false)
}

型号:

public class KonferanseModel
{
[Required(ErrorMessage = "Navn er påkrevd")]
[Display(Name = "Fullt navn")]
public string KontaktNavn { get; set; }

[Required(ErrorMessage = "Gateadresse er påkrevd")]
[Display(Name = "Gateadresse for bedriften")]
public string FirmaAdresse { get; set; }

[Phone(ErrorMessage = "Du må fylle inn et gyldig telefonnummer")]
[Required(ErrorMessage = "Telefonnummer for bedriften er påkrevd")]
[Display(Name = "Telefonnummer for bedriften")]
public string FirmaTelefon { get; set; }

[EmailAddress(ErrorMessage = "Du må fylle inn en gyldig epostadresse")]
[Required(ErrorMessage = "Epost for bedriften er påkrevd")]
[Display(Name = "Epost for bedriften")]
public string KontaktEpost { get; set; }

[Required(ErrorMessage = "Fakturainformasjon er påkrevd.")]
[Display(Name = "Fakturainformasjon")]
public string FakturaInformasjon { get; set; }

[Required(ErrorMessage = "Fyll inn navn på deltakere")]
[Display(Name = "Navn på deltakere")]
public string Names { get; set; }

[Display(Name = "Firmanavn")]
public string FirmaNavn { get; set; }

[Required(ErrorMessage = "Fyll inn antall deltakere")]
[Display(Name = "Antall deltakere")]
[RegularExpression(@"[0-9]*$", ErrorMessage = "Antall deltakere må være et tall")]
public string NumberOfPeople { get; set; }

public string KonferanseNavn { get; set; }

}

最佳答案

这是一篇关于接受可变数量元素的文章。 http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/

要点是,您的 Controller 将接受模型的集合而不是单个实例,然后提供一种为用户生成更多控件的方法。

关于c# - 动态数量的文本框(输入)MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20575389/

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