首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC EditorFor动态插入

MVC EditorFor动态插入
EN

Stack Overflow用户
提问于 2011-04-18 00:37:26
回答 1查看 2.3K关注 0票数 1

我想做一个javascript,可以动态插入一个新的"EditorFor“模型,但我有2个问题。

1:我一直在对字符串进行html编码,但我想不出如何停止它。

2:我怎么才能告诉它使用什么模型,而不是在我的模型中有一个它的实例

我尝试了以下几种方法,但都不起作用:

代码语言:javascript
复制
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。

代码语言: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仍然存在。

代码语言:javascript
复制
Html.Editor("Parts[X]", "CreatePartModel").ToString().Replace("\"", "\\\"").Replace("\r\n", "\\n");

编辑2:我发现下面的代码将删除编辑模型中的所有输入字段:(

代码语言:javascript
复制
Html.Editor("Parts[X]", "CreatePartModel")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-18 00:45:55

试着这样做:

代码语言:javascript
复制
<div id="foo"></div>

<script type="text/javascript">
var html = '@Html.Raw(HttpUtility.JavaScriptStringEncode(Html.EditorFor(x => x.Name).ToHtmlString()))';
$('#foo').html(html);
</script>

这样你就不需要任何替换了。它还将处理正确的编码。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5694809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档