2016-03-08 51 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