Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.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#ASP.NET中插入数组html_C#_Asp.net - Fatal编程技术网

在C#ASP.NET中插入数组html

在C#ASP.NET中插入数组html,c#,asp.net,C#,Asp.net,我有一个屏幕,在那里我用js插入动态输入。我使用两个表,其中一个表插入基本信息,另一个表使用FK插入产品 function AddItem() { var nItem = Number($("#nItem").val()) + 1; $("#nItem").val(nItem); var div = document.createElement('DIV'); div.innerHTML = '<label for="Item" class="item-l

我有一个屏幕,在那里我用js插入动态输入。我使用两个表,其中一个表插入基本信息,另一个表使用FK插入
产品

function AddItem() {
    var nItem = Number($("#nItem").val()) + 1;
    $("#nItem").val(nItem);

    var div = document.createElement('DIV');
    div.innerHTML = '<label for="Item" class="item-label">Item:</label>';
    div.innerHTML += '<input type="text" class="item-control" id="Item" name="Item" value="'+nItem+'" style="width:32px;background-color: #e9e9e9;text-align: center" readonly/>';
    div.innerHTML += '<label for="Qtd" class="item-label">Qtd:</label>';
    div.innerHTML += '<input type="text" class="item-control Vlr" data-val-required="Campo obrigatório" id="Qtd'+nItem+'" name="Qtd" value="0" style="width:100px;text-align: center"/>';
    div.innerHTML += '<label for="Vlr" class="item-label">Valor Un:</label>';
    div.innerHTML += '<input type="text" class="item-control Vlr" data-val-required="Campo obrigatório" id="Vlr'+nItem+'" name="Vlr" value="0" style="width:100px;text-align: center"/>';
    div.innerHTML += '<label for="VlrItem" class="item-label">Valor Item:</label>';
    div.innerHTML += '<input type="number" min="1" class="item-control VlrTotal" id="VlrItem'+nItem+'" name="VlrItem" value="0.00" style="width:100px;text-align: center;background-color: #e9e9e9" readonly/>';
    div.innerHTML += '<label for="Descricao" class="item-label" >Descrição:</label>';
    div.innerHTML += '<input type="text" class="item-control Validar" data-val="true" data-val-required="Campo obrigatório" id="Descricao" name="Descricao" value="" style="width:200px;text-align: center" maxlength="200"/>';
    div.innerHTML +=    '<input type="button" value="X" class="btn btn-danger" onclick="RemoveItem(this)"/>';

    document.getElementById("tabs-3").appendChild(div);
    $("#Qtd").mask('999');
    $(".Vlr").mask('0.000.000,00', { reverse: true });

    $(".Vlr").blur(function () {
        var Vlr = $("#Vlr" + nItem).val().replace(".", "");
        Vlr = Vlr.replace(",", ".");
        var VlrItem = parseFloat(Vlr) *  parseFloat($("#Qtd" + nItem).val());
        $("#VlrItem" + nItem).val(VlrItem.toFixed(2));
    });

您可以尝试从期望的对象生成一个数组,并在控制器中绑定到集合。我通常绑定到
I集合

所以你的控制器看起来像

公共操作结果创建(ICollection objs)
{ 
//你在这里工作吗
}

然后,每个对象属性的HTML输入都会有一个数组索引

var div = document.createElement('DIV');
div.innerHTML = '<label for="Item" class="item-label">Item:</label>';
div.innerHTML += '<input type="text" name="Product[0].ItemProperty" />';
div.innerHTML += '<label for="Qtd" class="item-label">Qtd:</label>';
div.innerHTML += '<input name="Product[0].QTDProperty" />';

//remaining innerhtml for first array item 0 here...

div.innerHTML = '<label for="Item" class="item-label">Item:</label>';
div.innerHTML += '<input type="text" name="Product[1].ItemProperty" />';
div.innerHTML += '<label for="Qtd" class="item-label">Qtd:</label>';
div.innerHTML += '<input name="Product[1].QtdProperty" />';
//remaining innerhtml here...
var div=document.createElement('div');
div.innerHTML='Item:';
div.innerHTML+='';
div.innerHTML+=“Qtd:”;
div.innerHTML+='';
//此处第一个数组项0的剩余innerhtml。。。
div.innerHTML='Item:';
div.innerHTML+='';
div.innerHTML+=“Qtd:”;
div.innerHTML+='';
//剩余的innerhtml在这里。。。

最终,您可以查看此

什么是
s
obj
?显示应该进行处理的完整方法,而不仅仅是一个片段。这没有真正意义。此外,这也无助于我们重现问题。请重构!试着解释一下每一个程序都在做什么。js add项似乎正在创建表单。这不是ajax调用。
var div = document.createElement('DIV');
div.innerHTML = '<label for="Item" class="item-label">Item:</label>';
div.innerHTML += '<input type="text" name="Product[0].ItemProperty" />';
div.innerHTML += '<label for="Qtd" class="item-label">Qtd:</label>';
div.innerHTML += '<input name="Product[0].QTDProperty" />';

//remaining innerhtml for first array item 0 here...

div.innerHTML = '<label for="Item" class="item-label">Item:</label>';
div.innerHTML += '<input type="text" name="Product[1].ItemProperty" />';
div.innerHTML += '<label for="Qtd" class="item-label">Qtd:</label>';
div.innerHTML += '<input name="Product[1].QtdProperty" />';
//remaining innerhtml here...