Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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
Jquery 在asp.net mvc中向html帮助程序中动态添加行_Jquery_Asp.net Mvc - Fatal编程技术网

Jquery 在asp.net mvc中向html帮助程序中动态添加行

Jquery 在asp.net mvc中向html帮助程序中动态添加行,jquery,asp.net-mvc,Jquery,Asp.net Mvc,下面是我的代码,我使用它在每个td中添加带有html帮助程序的新行 我在申请表中查看材料清单,我需要有一个结构,其中在一个主要父母(主要材料)下有许多子项(成分) 我的方法是在td中使用html帮助程序,然后单击“添加行”按钮并添加子项(成分) 当我单击下面代码中的按钮时,我无法获得新行。请帮助并建议是否有其他合适的方法来完成我的物料清单查看 我正在参考 $(“#我的按钮”)。单击(函数(){ 调试器; //动态创建元素 var newRow=“@Html.TextBoxFor(x=>x.Id,

下面是我的代码,我使用它在每个
td
中添加带有html帮助程序的新行

我在申请表中查看材料清单,我需要有一个结构,其中在一个主要父母(主要材料)下有许多子项(成分)

我的方法是在td中使用html帮助程序,然后单击“添加行”按钮并添加子项(成分)

当我单击下面代码中的按钮时,我无法获得新行。请帮助并建议是否有其他合适的方法来完成我的物料清单查看

我正在参考

$(“#我的按钮”)。单击(函数(){
调试器;
//动态创建元素
var newRow=“@Html.TextBoxFor(x=>x.Id,new{@Value=“1”})”@Html.TextBoxFor(x=>x.Name,new{@Value=“Abcd”})”;
警报(纽罗);
//在最后一行之后添加新的动态行
$('#aliasTable tr:last')。在(newRow)之后;
});
指数
@TextBoxFor(Model=>Model.Id,新的{@Value=“1”})
@Html.TextBoxFor(Model=>Model.Name,新的{@Value=“Abcd”})
添加新行

请按以下方式更改代码

注意:重要的是您需要在单引号('@Html.TextBoxFor(Model=>Model.Id')之间提到razer代码(Html helpers)

如果您必须使用强类型,请使用以下代码

[HttpGet]
public ActionResult ActionMethodName()
{
    Test testData = new Test();
    testData.Id = 1 // if Id is integet else testData.Id = "1"
    testData.Name = "Abcd"
    return View("ViewName", testData);
}
您只需要添加操作方法中的值。然后该值自动返回到页面

然后,您可以在java脚本中使用以下代码来返回值

var newRow = "<tr><td>" + '@Html.TextBoxFor(x => x.Id)' + "</td><td>" + '@Html.TextBoxFor(x => x.Name)' + "</td></tr>";
var newRow=“”+”@Html.TextBoxFor(x=>x.Id)“+”+”@Html.TextBoxFor(x=>x.Name)“+”;
否则,如果您不需要强类型,请使用下面的代码

var newRow = '<tr><td><input type="text" value ="1" name ="Id" /><input type="text" value ="1" name ="Name" /></td></tr>';
var newRow='';

复制粘贴您的代码时,我遇到语法错误。语法错误,仍然没有添加新行。现在错误消失,但仍然无法获取新行。请通过警报检查获取新行变量的值,并确保((newRow)之后的$('#aliasTable tr:last');这是添加新行的正确代码。您可以在我提供的链接中看到我的编辑。很抱歉延迟,我检查并运行代码,从中我们无法从html helper分配值。如果您现在尝试更新的代码,它将起作用,我已经检查过了
var newRow = '<tr><td><input type="text" value ="1" name ="Id" /><input type="text" value ="1" name ="Name" /></td></tr>';