2016-03-08 110 views
-3

无法获取代码后面的角度js值的值。同时显示其显示正确但未到达的后端值。即时获取{{}}而不是获取C#中的文本框的值

<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

什么是错的这个问题?这是完全有效的问题 – Dalorzo

+0

可能你在angularjs代码中有一些错误 –

回答

0

角是客户端框架不是服务器端框架,这就是为什么你不能用角和期望的东西混合ASP.NET自然的行为。 Text在ASP.NET文本框中是服务器端的属性,它将在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); 
+0

也许从输入的html标记中删除ASP属性* runat =“server”*,因为这不是一个ASP文本框了? – bviale

+0

是的,它是正确的,但属性是无用的权利? – bviale

+0

哦,是的,你是对的我不熟悉它,MBb – bviale