MVC编辑器用于动态插入
MVC EditorFor dyanmic insert
我想做一个javascript,可以动态插入一个新的"EditorFor"模型,但我有2个问题。
1:我保持HTML编码字符串,我不知道如何停止它。
2:我如何告诉它使用什么模型,而不是在我的模型中有一个实例
我已经尝试了以下方法,但它不工作:(
MvcHtmlString emodel = Html.EditorFor(model => new Cosplay.Models.Projects.CreatePartModel(), "CreatePartModel", "Parts[NAMEREPLACE]");
MvcHtmlString emodel = Html.EditorFor(model => Cosplay.Models.Projects.CreatePartModel, "CreatePartModel", "Parts[NAMEREPLACE]");
这是我完整的javascript。
@model Cosplay.Models.Projects.CreatePartsModel
@{
ViewBag.Title = "AddParts";
}
<script type="text/javascript">
@{
MvcHtmlString emodel = Html.EditorFor(model => Cosplay.Models.Projects.CreatePartModel, "CreatePartModel", "Parts[NAMEREPLACE]");
string editor = emodel.ToString().Trim().Replace("'"", "'''"");;
}
function getPartHtml(name) {
var html = '@editor';
return html.replace("NAMEREPLACE", name);
}
$(document).ready(function () {
var lastCount = 5;
$("#addPartInput").click(function () {
lastCount++;
$('#edit_part_list').append(getPartHtml(lastCount));
});
});
</script>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<div id="edit_part_list">
@Html.EditorFor(model => Model.Parts)
</div>
<a id="addPartInput">Add another part</a><br />
<input type="submit" value="Save" />
}
编辑:我已经修复了问题2与以下,但问题1仍然存在。
Html.Editor("Parts[X]", "CreatePartModel").ToString().Replace("'"", "'''"").Replace("'r'n", "''n");
编辑2:我发现下面的代码将删除编辑模型中的所有输入字段:(
Html.Editor("Parts[X]", "CreatePartModel")
试试:
<div id="foo"></div>
<script type="text/javascript">
var html = '@Html.Raw(HttpUtility.JavaScriptStringEncode(Html.EditorFor(x => x.Name).ToHtmlString()))';
$('#foo').html(html);
</script>
这样你就不需要任何替换。它还会处理正确的编码。
相关文章:
- 如何动态插入jquery代码
- 动态插入的表:JQuery未检测到最后一行
- 使用jquery插入动态HTML后,单击不起作用
- 将自定义下拉菜单添加到 tinyMCE 并插入动态内容
- 在查询中插入动态文本框值
- 如何在车把/Ember.js中插入动态{{属性}}
- Rails在数据库中插入动态字段
- 如何在iframe中插入动态JavaScript标记
- 应插入时未插入动态类
- 在选择标签中插入动态选项,使用Jquery
- 如何使用php在mysql中插入动态表单字段
- 在表单头中插入动态文本
- 向数据库中插入动态生成的值
- 如何调用jquery插入动态html元素
- 如何插入动态生成的运行时文本框的值
- 插入动态html内容
- 在多个页面中插入动态页眉
- 如何编辑和插入动态创建的表单文本框值到MySQL数据库
- 如何向SQL数据库插入动态值
- 以Dojo声明的方式插入动态PHP