C#为什么在我使用updatepanel进行回发时,组件Angularjs会消失?
我在我的.aspx中有这段代码,它位于updatepanel中,事件Onclick中有一个触发器C#为什么在我使用updatepanel进行回发时,组件Angularjs会消失?,c#,asp.net,angularjs,webforms,updatepanel,C#,Asp.net,Angularjs,Webforms,Updatepanel,我在我的.aspx中有这段代码,它位于updatepanel中,事件Onclick中有一个触发器 <div id="componentdt" ng-app="myApp" ng-controller="MyCtrl" class="container" style="width: 100%"> <div rm-datepicker ng-model="oDate1" rm-config="rmConfig1"></div> <input type="hi
<div id="componentdt" ng-app="myApp" ng-controller="MyCtrl" class="container" style="width: 100%">
<div rm-datepicker ng-model="oDate1" rm-config="rmConfig1"></div>
<input type="hidden" id="selectedPartnerId" runat="server" ng-value="oDate1 | date: 'dd-MM-yyyy'" />
</div>
这是我在.aspx中的脚本
<script>
var app = angular.module("myApp", ["rmDatepicker"]);
/* Datepicker global configuration */
app.config(["rmDatepickerConfig", function (rmDatepickerConfig) {
rmDatepickerConfig.mondayStart = true;
rmDatepickerConfig.initState = "month";
}]);
</script>
<script>
$(document).ready(function () {
var app = angular.module("myApp");
var MyCtrl = function ($scope) {
var currentDate = new Date();
var date = currentDate.setDate(currentDate.getDate() + 1);
/* Datepicker local configuration */
$scope.rmConfig1 = {
mondayStart: false,
initState: "month", /* decade || year || month */
maxState: null,
minState: "month",
decadeSize: 12,
monthSize: 42, /* "auto" || fixed nr. (35 or 42) */
min: new Date(date),
max: new Date('2023-11-21'),
format: "yyyy-MM-dd" /* https://docs.angularjs.org/api/ng/filter/date */
};
$scope.rmConfig2 = { format: "d MMM yyyy" };
$scope.oDate1 = new Date(date);
$scope.oDate2 = null;
$scope.clearInput = function () {
$scope.oDate2 = null;
}
};
app.controller("MyCtrl", ['$scope', MyCtrl]);
}());
// Init waves (OPTIONAL) :)
// window.onload = Waves.init();
</script>
var-app=angular.module(“myApp”,“rmDatepicker”);
/*日期选择器全局配置*/
app.config([“rmDatepickerConfig”,函数(rmDatepickerConfig){
rmDatepickerConfig.mondayStart=true;
rmDatepickerConfig.initState=“月”;
}]);
$(文档).ready(函数(){
var app=角度模块(“myApp”);
var MyCtrl=函数($scope){
var currentDate=新日期();
var date=currentDate.setDate(currentDate.getDate()+1);
/*日期选择器本地配置*/
$scope.rmConfig1={
周一开始:错,
初始状态:“月”/*十年|年|月*/
maxState:null,
明州:“月”,
十年:12,
月份:42,/*“自动”| |固定编号(35或42)*/
最小:新日期(日期),
最长:新日期('2023-11-21'),
格式:“yyyy-MM-dd”/*https://docs.angularjs.org/api/ng/filter/date */
};
$scope.rmConfig2={格式:“d MMM yyyy”};
$scope.oDate1=新日期(日期);
$scope.oDate2=null;
$scope.clearInput=函数(){
$scope.oDate2=null;
}
};
app.controller(“MyCtrl”[“$scope”,MyCtrl]);
}());
//初始波(可选):)
//window.onload=Waves.init();
嗯,当我回发时,这个组件消失了,我不知道为什么。
我从AngularJS和ASP.NET webforms开始,您不应该在更新面板中使用AngularJS。这毫无意义。Asp.net web表单是MVC的反模式,MVC将全部或部分html页面发送到服务器并返回在服务器上生成的html,而MVC技术仅从服务器请求数据并在客户端呈现数据 您应该了解MVC模式和web表单是如何工作的,以理解这些技术的概念,否则您将在将来面临更多的问题
为了解决您的问题,请不要在“更新”面板下使用“角度部分”。Angular能够将请求发送到服务器并更新页面的一部分。如果您正在使用Angular,只需保留Ajax控件。您不应该在更新面板中使用Angular。这毫无意义。Asp.net web表单是MVC的反模式,MVC将全部或部分html页面发送到服务器并返回在服务器上生成的html,而MVC技术仅从服务器请求数据并在客户端呈现数据 您应该了解MVC模式和web表单是如何工作的,以理解这些技术的概念,否则您将在将来面临更多的问题 为了解决您的问题,请不要在“更新”面板下使用“角度部分”。Angular能够将请求发送到服务器并更新页面的一部分。如果您使用的是Angular,只需留下Ajax控件即可