即时获取{{}}而不是获取C#中文本框的值

时间:2016-03-08 12:18:01

标签: c# asp.net angularjs

无法获取Code背后的角度js值。同时显示其显示正确但后端值不会出现。

    <script type="text/javascript">
       var app = angular.module('myApp', []);
       app.controller('myCtrl', function ($scope) {
           $scope.myCalc1 = qty * unitprice;
       });
</script>




  <div align="center" style="height:800px" ng-app="myApp" ng-controller="myCtrl">



                    <asp:TextBox ID="txtQty" runat="server" ng-model="qty" />                          
                  <asp:Label ID="Label10" Text="Unit Price" runat="server" />

                    <asp:TextBox ID="txtUnitPrice" runat="server" ng-model="unitprice" />

      <input type="text" ng-model="myCalc1" runat="server" id="txtTotalPriceExcludingtax" >

1 个答案:

答案 0 :(得分:0)

Angular是一个客户端框架,而不是服务器端框架,这就是为什么你不能将ASP.NET与Angular混合在一起并期望事情能够自然地表现出来的原因。 ASP.NET文本框中的Text是服务器端属性,它将在HTML中以不同方式呈现,而不一定是角度将理解您要执行的操作。

我建议保持更透明,更容易阅读,以便在输入文本中获取角度值,并使用以后的ASP.NET POST将此值传输到服务器端

试试这个:

<强> HTML

<input type="text" ng-model="myCalc1" runat="server" id="txtTotalPriceExcludingtax" >

为了尊重MVVM模型,我更喜欢在函数或变量中进行计算:

<强>控制器

$scope.myCalc1 = qty*unitprice

最后是服务器端

var totalprice = Convert.ToInt32(txtTotalPriceExcludingtax.Value);