【问题标题】:How to pass angularjs array data from asp.net webform to an angularjs function如何将 angularjs 数组数据从 asp.net webform 传递给 angularjs 函数
【发布时间】:2015-08-06 08:14:22
【问题描述】:

我是 AngularJS 的初学者,我正在尝试从 asp.net 网络表单向 AngularJS 控制器发送数据。

更具体地说,我在 Asp.net Web 表单中有一行或多行数据。在每一行中,我有 4 个属性,例如名字、姓氏、身高和体重。我想要做的是在 AngularJS 控制器中创建一个数组,并将每一行数据传递到控制器中并将其推送到一个数组中。所以我会有这样的东西:

项目(0).名字 项目(0).姓氏 项目(0).高度 物品(0).重量

项目(1).名字 项目(1).姓氏 项目(1).高度 物品(1).重量

等等

到目前为止,我的 AngularJS 控制器中有这个:

// Item List Arrays
$scope.beneficiaries = [];

$scope.AddBeneficiary = function (b) 
{
   // Add a Item to the list
   $scope.beneficiaries.push({
      firstName:  b.firstName,
      lastName:  b.lastName,
      relationship:  b.relationship,
      percentage:  b.percentage
    });
}

我正在尝试从我的网络表单行中传递数据,如下所示:

ng-model="benficiaries[0].firstName">

然后在我的按钮中

ng-click="AddBeneficiary(beneficiary[0])"

显然,这是行不通的。非常感谢任何帮助。

谢谢,

皮特

标记看起来像这样。例如,对于名字:

First Name:
<br />
<asp:TextBox ID="uiBeneFirstName1" runat="server" MaxLength="20"  
CssClass="form-control" ng-disabled="model.uiBeneRelationship1 == '2'" 
TabIndex="35" ng-model="benficiaries[0].firstName"></asp:TextBox>
</div> 

我尝试将名字传递给控制器​​的按钮单击当前看起来像这样:

<button runat="server" ng-click="AddBeneficiary(beneficiary[0])">Add  Beneficiary</button>

【问题讨论】:

  • 从提供的代码看来,您正在尝试将 beneficiaries 数组的第一个元素(什么都没有)添加到自身,所以什么都不会发生。向我们展示您的表单标记
  • 所以表单标记应该是这样的:
    名字:
    asp:TextBox>

标签: asp.net angularjs


【解决方案1】:

您的 $scope.beneficiaries 在开始时是一个空数组,因此您无法将其绑定到类似的输入

<input type="text" name="firstName" ng-model="beneficiaries[0].firstName"/>

因为没有第一个元素$scope.beneficiaries[0]。您需要在表单中使用不同的模型,例如:

    <input type="text" name="firstName" ng-model="formData.firstName"/>

你的添加按钮会有

ng-click="AddBeneficiary(formData)"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    相关资源
    最近更新 更多