gpt4 book ai didi

c# - 如何使用 javascript 添加 @html 标签?

转载 作者:行者123 更新时间:2023-11-29 10:14:40 26 4
gpt4 key购买 nike

有时您需要添加另一个文本框 或其他输入类型以获取更多信息。好吧,比如说,一个Customer 可以有多个Address。当用户完成表单并到达地址时,他可以点击加号为另一个地址添加另一个文本框。所以我所做的是这样的:(不知道是否推荐)

HTML:

<a href="#" class="add-address">Additional Address</a>
<div class="address-container"></div>

JS:

<script>
$(function() {
var i = 0;
var addAddress = function() {
var strBuilder = '<input type="text" name="Addresses[i].Location" />';
$('.address-container').append(strBuilder);
i++;

return false;
};
$('.add-address').click(addAddress);
});
</script>

所以我的问题是:

  1. 是否可以将文本框添加为 @Html.EditorFor()?
  2. 如果我也可以在 @Html.ValidationMessageFor() 中添加,那真的很棒,这可能吗?

我正在使用 ASP.NET MVC 4; EF 代码优先方法。

任何帮助将不胜感激。谢谢。

最佳答案

只需使用 i 作为名称属性。

name="Addresses[' + i + '].Location"

这应该与您的模型绑定(bind)。

  var i = 0;
var addAddress = function() {
var strBuilder = '<input type="text" value="" name="Addresses[' + i + '].Location">';
$('.address-container').append(strBuilder);
i++;
return false;
};

参见 this post这对我很有用。

已更新

为了验证,只需将此属性也与输入元素一起添加。

data-val-email="The Email field is not a valid e-mail address." 

data-val="true"

这背后的一个想法是,将正确的元素附加到名称属性和验证(data-val="true")。您可以看到已使用验证的已工作页面的渲染 html。

关于c# - 如何使用 javascript 添加 @html 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25062294/

26 4 0