在控制器中处理javascript动态生成的控件
我有一个asp.net核心的项目。我有一个视图,可以从输入中的excel表执行粘贴操作,javascript代码读取信息并使用该信息创建输入控件。如何处理所有控件并通过提交将其发送给控制器?我想保存所有的信息 Javascript代码:在控制器中处理javascript动态生成的控件,javascript,asp.net-core,Javascript,Asp.net Core,我有一个asp.net核心的项目。我有一个视图,可以从输入中的excel表执行粘贴操作,javascript代码读取信息并使用该信息创建输入控件。如何处理所有控件并通过提交将其发送给控制器?我想保存所有的信息 Javascript代码: <script> $(document).ready(function () { $("#excel").bind('paste', function (e) { $("#excel").hide();
<script>
$(document).ready(function () {
$("#excel").bind('paste',
function (e) {
$("#excel").hide();
$("#div_cargar").hide();
var cells = '';
var i_group = '<div class="form-group row">';
var f_group = '</div>';
//Variables del input del id frente
var i_div_1 = '<div class="col-sm-1">';
var f_div = '</div>';
var label_id = '<label class="control-label col-sm-1" for="id_frente">Frente:</label>';
//variables del input de frente
var i_div_7 = '<div class="col-sm-2">';
var f_div_7 = '</div>';
var label_frente = '<label class="control-label col-sm-1" for="frente">Frente:</label>';
var copy = e.originalEvent.clipboardData.getData('Text');
var rows = copy.split('\n');
var id_frente_in = '';
var frente_in = '';
var id_frente = "";
var frente = "";
//Variables partidas
var label_partida = '<label class="control-label col-sm-1" for="frente">Partida:</label>';
var id_partida_in = '';
var partida_in = '';
var partida = '';
var id_partida = '';
//Variables conceptos
var i_div_2 = '<div class="col-sm-2 ">';
var f_div_2 = '</div>';
var i_div_3 = '<div class="col-sm-3">';
var f_div_3 = '</div>';
var i_div_4 = '<div class="col-sm-4">';
var f_div_4 = '</div>';
var label_concepto = '<label class="control-label col-sm-1" for="frente">Concepto:</label>';
var id_concepto_in = '';
var concepto_in = '';
var concepto = '';
var id_concepto = '';
var contadorparaapartado = 0;
//Variables parametros
var i_div_5 = '<div class="col-sm-8">';
var f_div_5 = '</div>';
var label_parametro = '<label class="control-label col-sm-1" for="frente">Parametro:</label>';
var id_concepto_in = '';
var parametro_in = '';
var parametro = '';
var id_partida = '';
var previousrow = "";
var hr = "";
$.each(rows,
function (index, value) {
//Se valida que no este vacio el value
if (value) {
var columna = rows[index].split("\t");
console.log(columna);
columna[0] = columna[0].replace(/["]/g, "'");
columna[1] = columna[1].replace(/["]/g, "'");
//Se valida si cambia de columna
if (columna[0].split(".").length - 1 == 3) {//FRENTES--------------------------------------------------------
id_frente_in = columna[0];
frente_in = columna[1];
//Se arregla el input del id del frente
id_input =
'<input type="text" class="form-control" id="id_frente" name="id_frente_ek[]" req="" value="' +
id_frente_in +
'">';
id_frente = label_id + i_div_1 + id_input + f_div;
id_frenteactual = id_frente;
//Se arregla el input del frente
frente_input =
'<input type="text" class="form-control input-sm" id="frente" name="frente[]" req="" value="' +
frente_in +
'">';
frente = i_div_7 + frente_input + f_div_7;
frenteactual = id_frenteactual + frente;
//$('.frentes').append(id + frente);
} else if (columna[0].split(".").length - 1 == 4) {//PARTIDAS-----------------------------------------------
id_partida_in = columna[0];
partida_in = columna[1];
//Se arregla el input del id de la partida
id_input =
'<input type="text" class="form-control" id="id_partida" name="id_partida_ek[]" req="" value="' +
id_partida_in +
'">';
id_partida = label_partida + i_div_2 + id_input + f_div;
id_partidactual = id_partida;
//Se arregla el input del frente
partida_input =
'<input type="text" class="form-control input-sm" id="partida" name="partida[]" req="" value="' +
partida_in +
'">';
partida = i_div_3 + partida_input + f_div_4;
partidaactual = id_partidactual + partida;
//$(".partidas").append(id + partida);s
}
else if (columna[0] != "") {//CONCEPTOS-----------------------------------------------
var siguienterow = rows[index + 1].split("\t");
if (siguienterow[0] == "") {
if (previousrow != "") {
concepto_in = columna[0] + " (Apartado: " + previousrow + ") ";
} else {
concepto_in = columna[0];
}
//Se arregla el input del id de la concepto
id_input =
'<input type="text" class="form-control" id="id_concepto" name="id_concepto_ek[]" req="" value="' +
concepto_in +
'">';
concepto = label_concepto + i_div_2 + id_input + f_div_4;
conceptoactual = concepto;
} else {
previousrow = columna[0];
}
}
else if (columna[0] == "" && columna[1] != "") {//PARAMETROS-----------------------------------------------
var siguienterow = rows[index + 1].split("\t");
if (siguienterow[0].split(".").length - 1 == 3) {
hr = '<hr>';
}
parametro_in = columna[1];
//Se arregla el input del id de la parametro
id_input =
'<input type="text" class="form-control" id="id_parametro" name="id_parametro_ek[]" req="" value="' +
parametro_in +
'">';
parametro = conceptoactual + label_parametro + i_div_5 + id_input + f_div_5;
//$(".parametros").append(id);
}
if (id_frente == "") {
$(".frentes").append(i_group +
id_frente +
frente +
id_partida +
partida +
parametro +
f_group);
} else {
$(".frentes").append(hr + i_group + id_frente + frente + id_partida + partida + parametro + f_group);
}
id_frente = "";
frente = "";
id_partida = "";
partida = "";
concepto = "";
parametro = "";
}
});
});
});
$(文档).ready(函数(){
$(“#excel”).bind('粘贴',
职能(e){
$(“#excel”).hide();
$(“#div_cargar”).hide();
var单元格=“”;
var i_组=“”;
var f_组=“”;
//变量del输入del id frente
var i_div_1='';
var f_div=“”;
变量标签_id='Frente:';
//输入法变量
var i_div_7=“”;
var f_div_7='';
var label_frente='frente:';
var copy=e.originalEvent.clipboardData.getData('Text');
var rows=copy.split('\n');
变量id_frente_in=“”;
变量frente_in=“”;
var id_frente=“”;
var frente=“”;
//变量partidas
var label_partida='partida:';
变量id_partida_in='';
变量partida_in=“”;
var partida='';
变量id_partida='';
//变量概念
变量i_div_2=“”;
var f_div_2='';
var i_div_3='';
var f_div_3='';
var i_div_4='';
var f_div_4='';
var label_concepto='concepto:';
变量id_concepto_in='';
var concepto_in='';
var concepto='';
变量id_concepto='';
var Contadorparapartado=0;
//变量参数
var i_div_5='';
var f_div_5='';
var label_parametro='parametro:';
变量id_concepto_in='';
var Parametero_in='';
var参数=“”;
变量id_partida='';
var previousrow=“”;
var hr=“”;
$。每行,
函数(索引、值){
//Se valida que无este vacio el值
如果(值){
var columna=行[index]。拆分(“\t”);
console.log(columna);
columna[0]=columna[0]。替换(/[“]/g,”);
columna[1]=columna[1]。替换(/[“]/g,”);
//柱状坎比亚万利达酒店
if(columna[0].split(“.”).length-1==3){//freentes--------------------------------------------------------
id_frente_in=columna[0];
frente_in=columna[1];
//Se arregla el input del id del frente
id_输入=
'';
id\u frente=标签id+i\u div\u 1+id\u输入+f\u div;
法语=法语;
//Se arregla el frente输入端
法语输入=
'';
frente=i_div_7+frente_输入+f_div_7;
法语=法语+法语;
//$('.frentes')。追加(id+frente);
}else if(columna[0].split(“.”).length-1==4){//PARTIDAS-----------------------------------------------
id_partida_in=columna[0];
partida_in=columna[1];
//这是一个输入数据集
id_输入=
'';
id\u partida=标签\u partida+i\u div\u 2+id\u输入+f\u div;
id_partidactual=id_partida;
//Se arregla el frente输入端
partida_输入=
'';
partida=i_div_3+partida_输入+f_div_4;
partidaactual=id_partidactual+partida;
//$(“.partidas”).append(id+partida);s
}
else if(columna[0]!=“”){//CONCEPTOS-----------------------------------------------
var siguienterow=行[index+1]。拆分(“\t”);
如果(siguienterow[0]=“”){
如果(上一行!=“”){
concepto_in=columna[0]+“(公寓:“+previousrow+”);
}否则{
concepto_in=columna[0];
}
//这是一个概念的输入
id_输入=
'';
概念=标签概念+i分区2+id分区输入+f分区4;
概念实际=概念;
}否则{
previousrow=列[0];
}
}
else if(columna[0]==”&&columna[1]!=”){//PARAMETROS-----------------------------------------------
var siguienterow=行[index+1]。拆分(“\t”);
if(siguienterow[0]。拆分(“.”)。长度-1==3){
hr=“
”;
}
parametro_in=columna[1];
//Se arregla el input del id de la parametro
id_输入=
'';
<div class="card-header h4">
Index
<a asp-action="Guardar" class="btn btn-success btn-sm float-right" type="submit" title="Guardar
datos"><i class="fas fa-save"></i></a>
<a asp-action="Index" class="btn btn-light btn-sm float-right" title="Crear nueva persona"><i
class="fas fa-redo"></i></a>
</div>
<div class="card-body">
<label class="text-gray-800" id="div_cargar">Cargar datos aquí:</label>
<input class="form-control" id="excel" />
<div class="form-group">
<form asp-action="Guardar">
<div class="frentes">
</div>
</form>
</div>
</div>
[HttpPost] // assuming you will be posting
public ActionResult YourActionMethod(IFormCollection data)
{
// if you want to iterate
foreach (var keyValuePair in data)
{
...
}
// or if you want to get by form control name
var name = data["name"];
...
}