ASP中使用ng-repeat的提交表单.净MVC
本文关键字:提交 表单 MVC ng-repeat ASP | 更新日期: 2023-09-27 18:16:49
我在使用angularJS时遇到了一些麻烦,当我提交数据时,它总是空的,我使用ng-repeat显示该数据,如下所示:
@using (Ajax.BeginForm("UpdateTasks", "Revision", FormMethod.Post, new AjaxOptions { OnSuccess = "OnSaveSuccess" @*, OnBegin="ValidateForm"*@} , new { @id = "participantForm", @class = "form-validation-1" }))
{
<div ng-app="myApp">
<div id="idiv">
<table id="tbl" name="tbl" ng-controller="myCtrl" border="1" style="color:black">
<tr>
<th> Task</th>
</tr>
<tr ng-repeat="x in records">
<td><input type="text" ng-model="x.Question" class="form-control"></td>
</tr>
</table>
<input class="btn m-r-5" type="submit" value="Save" />
这是我的控制器
[HttpPost]
public JsonResult UpdateTasks(object tasks)
{
var tsk = tasks ;
return Json(new { isError ="" }, JsonRequestBehavior.AllowGet);
}
但是对象任务总是空的,我错过了什么?
你可以试试这个,首先获取对象中的所有数据,然后使用ng-repeat以html形式显示数据/信息。
<table>
<tr ng-repeat="x in records">
<td>{{ x.Name }}</td>
<td>{{ x.Country }}</td>
</tr>
你的代码有很多问题。让我们一个一个地开始。
- 使用angularjs $http service将数据发送到你的服务器。使用angularjs和razor发布数据没有什么意义。
- 创建一个与你从客户端发布的属性匹配的模型,并在控制器动作中使用它,而不是"对象"类型。MVC模型绑定器自动映射并填充字段。
关于您的实际问题,这是因为您没有将name属性与输入字段关联。试试这样的东西,如果你需要进一步的指示,请告诉我:)
<div ng-app="myApp">
<div id="idiv">
<table id="tbl" name="tbl" ng-controller="myCtrl" border="1" style="color:black">
<tr>
<th> Task</th>
</tr>
<tr>
<td ng-repeat="x in records">
<input name="{{x.Question}}" type="text" ng-model="x.Question" class="form-control">
</td>
</tr>
</table>
<input class="btn m-r-5" type="submit" value="Save" />