我想从动态创建的输入中向DB发布一些字符串(文本)。
以下是生成该输入的代码。我使用另一个文本框(id =' newtypevalue')为该输入输入值。有一个与输入相关联的删除按钮。
这是_AttributeCreate局部视图
@using (Html.BeginForm("Save", "Atribute"))
{
@Html.TextBoxFor(a=>a.AtributeCode)
@Html.TextBoxFor(a=>a.AtributeName)
<div>
<input type="text" id="newtypevalue" /></div>
<div>
<input type="button" value="Add Text" id="addtypevalue" /></div>
<div id="typevaluelist">
// Generate inputs for existing items and in case of returning the view
@foreach(var item in Model.typevalue)
{
<div class="typevalue">
<input type="text" name="typevalue" value="@item" />
<button type="button" class="delete">Delete</button>
</div>
}
</div>
<div>
<input type="submit" value="Save" id="btn" class="btn btn-success"/>
</div>
}
// Hidden template for adding new items (outside the form element)
<div id="new" style="display:none;">
<div class="typevalue">
<input type="text" name="typevalue" />
<button type="button" class="delete">Delete</button>
</div>
</div>
//scripts for adding and deleting items
$('#addtypevalue').click(function() {
var clone = $('#new').clone().children('div'); // copy the template
clone.find('input').val($('#newtypevalue').val()); // update text
$('#typevaluelist').append(clone); // add it to the DOM
$('#newtypevalue').val(''); // clear initial text box
});
$('#typevaluelist').on('click', '.delete', function() {
$(this).closest('.typevalue').remove(); // remove it from the DOM
});
AttributeViewModel
public class AttributeViewModel
{
public string AtributeCode { get; set; }
public string AtributeName { get; set; }
public IEnumerable<String> typevalue { get; set; }
}
在属性控制器
中public ActionResult Save(AttributeViewModel avm)
{
var objContext = new KnittingdbContext();
Atribute newAtt = new Atribute
{
AtributeCode=avm.AtributeCode,
AtributeName=avm.AtributeName
};
objContext.Atributes.Add(newAtt);
objContext.SaveChanges();
return RedirectToAction("AtributeIndex", new { A = "New" });
}
AttributeCode和Attribute名称保存到Attribute表中,而动态创建的输入则保存到另一个名为AttributeDetail的表中,该表与Attribute表具有FK关系。
一旦我通过带有id&#39; btn&#39;的提交按钮提交,所有这些值都应该保存到DB中。我能够将相关条目(AttributeCode和AttributeName)保存到属性表。但困难在于将动态创建的文本保存到AttributeDetail表。我努力捕获这些文本并发布它们。所有帮助赞赏。提前致谢!