以引号括起来更改虚拟数据jquery

时间:2014-05-28 08:51:40

标签: javascript jquery asp.net asp.net-mvc razor

我不知道如何在引号中替换Jquery的这个虚拟代码

这很好,但如果我将jquery虚拟数据替换为剃刀代码,我会收到错误...

jQuery('<div class="table"><input class="data-cell data-category" /><input class="data-cell data-value" type="number" step="10" /><input class="data-button delete-button" type="button" value="X" /><input class="data-button addnew-button" type="button" value="V" /></div>').prependTo('#data-table');

到以下剃刀代码

 <div class="form-horizontal">
        <h4>Role</h4>
        <hr />
        <div class="form-group">
            @Html.LabelFor(model => model.user, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.user)
                @Html.ValidationMessageFor(model => model.user)
            </div>
        </div>
        <div class="form-group">
            @Html.LabelFor(model => model.checkBox1, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.checkBox1)
                @Html.ValidationMessageFor(model => model.checkBox1)
            </div>
        </div>
        </div>

当我尝试这样做时@剃刀代码的叹息导致错误,如何克服它并将引号内的代码替换为剃刀代码?

1 个答案:

答案 0 :(得分:0)

不确定编译错误或仅在代码编辑器中发出警告

这就是我如何将javascript与Razor输出中的值结合起来

var html = '@Html.EditorFor(x=>x.Value)';
$(html).prependTo('#somewhere');

如果您想从Razor的视图中呈现整个HTML输出。你可以这样做

var html = '@Html.Partial("ViewName", Model)';
$(html).prependTo('#somewhere');

顺便说一句,这在设计上看起来很难闻。

或者,将ajax $ .get用于你的Action url,返回PartialView会更简单

$.get('@Url.Action("ActionName")', function(html){
    $(html).prependTo('#somewhere');
});