Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# JSON.append@Html.Partial_C#_Json_Asp.net Mvc_Html Helper - Fatal编程技术网

C# JSON.append@Html.Partial

C# JSON.append@Html.Partial,c#,json,asp.net-mvc,html-helper,C#,Json,Asp.net Mvc,Html Helper,创建订单表时,需要加号,这会向订单中添加新行。表格的第一行总是在那里。问题是第一个字段是Html.Partial视图,它处理所有可选项的下拉列表 问题是:如何将@Html.Partial附加到JSON函数中? 问题是@符号 function addOrderRow() { $("#btnAddOrderRow").click(function () { var newRow = '<tr style="height:50px;"><t

创建订单表时,需要加号,这会向订单中添加新行。表格的第一行总是在那里。问题是第一个字段是Html.Partial视图,它处理所有可选项的下拉列表

问题是:如何将@Html.Partial附加到JSON函数中? 问题是@符号

function addOrderRow() {
        $("#btnAddOrderRow").click(function () {
              var newRow = '<tr style="height:50px;"><td class="col-md-6"><div class="row"><div id="SupplierItems" class="col-md-6">' +
                    '@Html.Partial("SupplierItems", Model)' +
                    '</div><div class="col-md-6"><input id="Description" type="text" class="form-control" style="width:100%" /></div></div></td><td class="col-md-3"><input id="Partnumber" type="text" style="width:100%" class="form-control" /></td><td class="col-md-2"><div class="form-inline"><strong>£&nbsp;</strong><input id="Cost" type="number" min="0" step="0.01" style="width:93%" class="form-control text-right" /></div></td><td class="col-md-1"><input id="Quantity" type="number" min="1" step="1" class="form-control text-center" value="1" style="width:100%" /></td><td class="col-md-1 text-center"><button class="btn btn-danger btn-sm" type="button"> <span class="glyphicon glyphicon-minus"></span></button></td></tr>';
              $("#orderTable > tbody:last-child").append(newRow);
        })
  };

如果我用@转义@,函数只需将@Html.PartialSupplierItems、模型文本放入相关的中。

您可以将视图呈现为变量,然后使用该变量添加行,即

var view = '@Html.Raw(@Html.Partial('Your partial'))';
然后使用字符串连接添加视图

function addOrderRow() {
    var view = '@Html.Raw(@Html.Partial("SupplierItems", Model))';
    $("#btnAddOrderRow").click(function () {
          var newRow = '<tr style="height:50px;"><td class="col-md-6"><div class="row"><div id="SupplierItems" class="col-md-6">' +
                view +
                '</div><div class="col-md-6"><input id="Description" type="text" class="form-control" style="width:100%" /></div></div></td><td class="col-md-3"><input id="Partnumber" type="text" style="width:100%" class="form-control" /></td><td class="col-md-2"><div class="form-inline"><strong>£&nbsp;</strong><input id="Cost" type="number" min="0" step="0.01" style="width:93%" class="form-control text-right" /></div></td><td class="col-md-1"><input id="Quantity" type="number" min="1" step="1" class="form-control text-center" value="1" style="width:100%" /></td><td class="col-md-1 text-center"><button class="btn btn-danger btn-sm" type="button"> <span class="glyphicon glyphicon-minus"></span></button></td></tr>';
          $("#orderTable > tbody:last-child").append(newRow);
    })
};

注意:这将创建一个静态视图,它将为每个添加的行呈现相同的结果。我发现一些视图依赖于给定给输入的ID,特别是在使用ModelBinding时。原始问题的答案似乎是:

var view = String.raw`@Html.Partial("SupplierItems", Model)`;
注意标记,它不是“


但这对我没有帮助,因为局部视图包含另一个会弄乱页面的视图。我需要找到一个解决办法。回答问题。

如果您想在jQuery中单击按钮加载部分视图,则必须使用Ajax加载。谢谢@3dd,但是控制台报告:Uncaught SyntaxError:Unexpected token<视图的值为:var view=选择一个@Html项。Raw@Html.Partial“您的部分”部分应该在我已更新我的ansOk中现在控制台:未捕获的语法错误:意外标记非法您需要从视图字符串中删除所有换行符,如果我能快速找到代码,问题在于viewhtml.raw变量。