ASP.NET AJAX常見問題整理
1.ASP.NET AJAX-Enabled頁面引用指令碼出現的問題
我原來的js程式碼是這樣的,結果導致畫面上有ScriptManager的時候一直髮生this.form為Null的錯誤。
原因是類似下面的指令碼採用了封閉式的標籤宣告,而
<script type="text/javascript" src="Scripts/SomeFile.js"/>
而將標籤宣告為開放式的形式才有助於AJAX庫判斷引用Javascript的結尾。
2.ASP.NET AJAX中的控制元件ID問題
因為使用AJAX容器控制元件會導致ScriptManager直接在你所使用的空間前面新增字首而改變,如原來控制元件為ExtendGridView1,
而在Tab容器中,則變為tbcMain_tbpOrgnz_ExtendGridView1。而這個ID使用的場景僅限於非.NET頁面事件相關的普通
Javascript函式,如Document.getElementId方法中你可以使用這個ID在客戶端找到該控制元件。
但在伺服器端進行FindControl或者在客戶端使用__doPostback函式的時候一定要使用把"_"轉換成"$"後的控制元件ID,即:
tbcMain_tbpOrgnz_ExtendGridView1 -> tbcMain$tbpOrgnz$ExtendGridView1
在伺服器端我們可以使用String.Replace函式直接進行轉換。在Javascript中比較汗顏的是String.Replace函式一次只轉換一個,
所以我寫了一個Javascript函式來進行客戶端的轉換。
HTML程式碼
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--><head runat="server">
<title>Untitled Pagetitle>
<script type="text/javascript" src="js/gridviewjs.js"/>
<link type="text/css" rel="Stylesheet" href="css/gridviewcss.css" />
</head>
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--><head runat="server">
<title>Untitled Pagetitle>
<script type="text/javascript" src="js/gridviewjs.js"/>
<link type="text/css" rel="Stylesheet" href="css/gridviewcss.css" />
</head>
我原來的js程式碼是這樣的,結果導致畫面上有ScriptManager的時候一直髮生this.form為Null的錯誤。
原因是類似下面的指令碼採用了封閉式的標籤宣告,而
<script type="text/javascript" src="Scripts/SomeFile.js"/>
而將標籤宣告為開放式的形式才有助於AJAX庫判斷引用Javascript的結尾。
<
script type="text/javascript" src="Scripts/SomeFile.js">script>2.ASP.NET AJAX中的控制元件ID問題
因為使用AJAX容器控制元件會導致ScriptManager直接在你所使用的空間前面新增字首而改變,如原來控制元件為ExtendGridView1,
而在Tab容器中,則變為tbcMain_tbpOrgnz_ExtendGridView1。而這個ID使用的場景僅限於非.NET頁面事件相關的普通
Javascript函式,如Document.getElementId方法中你可以使用這個ID在客戶端找到該控制元件。
但在伺服器端進行FindControl或者在客戶端使用__doPostback函式的時候一定要使用把"_"轉換成"$"後的控制元件ID,即:
tbcMain_tbpOrgnz_ExtendGridView1 -> tbcMain$tbpOrgnz$ExtendGridView1
在伺服器端我們可以使用String.Replace函式直接進行轉換。在Javascript中比較汗顏的是String.Replace函式一次只轉換一個,
所以我寫了一個Javascript函式來進行客戶端的轉換。
Javascript指令碼
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> function getAjaxId(id)
{
while(id.indexOf('_')>-1)
{
id=id.replace('_','$');
}
return id;
}
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> function getAjaxId(id)
{
while(id.indexOf('_')>-1)
{
id=id.replace('_','$');
}
return id;
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-444292/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 前端常見問題整理前端
- 【面試】面試常見問題整理面試
- AIX常見問題整理(二)AI
- asp.net 常見問題收集整理(不斷收集中)ASP.NET
- ajax常見面試題面試題
- Zabbix 常見問題處理整理
- Vue專案打包常見問題整理Vue
- HashMap常見面試題整理HashMap面試題
- Vue常見面試題整理Vue面試題
- 整理kafka常見面試題Kafka面試題
- 那些常見的面試題整理面試題
- 柯大俠整理的常見瀏覽器相容問題瀏覽器
- [面試題]大廠常見面試題整理面試題
- 【jackyrong】asp.net 2.0常見問題技2ASP.NET
- 在ASP.NET中使用Session常見問題集錦ASP.NETSession
- 【Nginx】常見問題Nginx
- js常見問題JS
- CSS常見問題CSS
- Git 常見問題Git
- PHP 常見問題PHP
- swiper常見問題
- nginx 常見問題Nginx
- java 常見問題Java
- MyBatis常見問題MyBatis
- 前端常見問題前端
- Git常見問題Git
- SQLServer常見問題SQLServer
- css 常見問題CSS
- HTML常見問題HTML
- PyMongo 常見問題Go
- xhtml常見問題HTML
- UITableview 常見問題UIView
- mysql常見問題MySql
- MySQL 常見問題MySql
- BlockUI常見問題BloCUI
- 【azure】122個常見問題收集整理(FLASH初學者參見)
- Oracle常見問題一千問Oracle
- 常見12個python面試題整理Python面試題