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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 前端常見問題整理前端
- ajax常見面試題面試題
- Vue專案打包常見問題整理Vue
- 整理的一些常見問題
- 【面試】面試常見問題整理面試
- 常見問題
- HashMap常見面試題整理HashMap面試題
- 整理kafka常見面試題Kafka面試題
- Vue常見面試題整理Vue面試題
- 柯大俠整理的常見瀏覽器相容問題瀏覽器
- 那些常見的面試題整理面試題
- XSS常見問題
- Mysql:常見問題MySql
- MyBatis常見問題MyBatis
- 【Nginx】常見問題Nginx
- ndk 常見問題
- java 常見問題Java
- js常見問題JS
- Homestead 常見問題
- Apache 常見問題Apache
- Linux 常見問題Linux
- Git 常見問題Git
- PHP 常見問題PHP
- swiper常見問題
- Composer 常見問題
- CSS常見問題CSS
- nginx 常見問題Nginx
- HTML常見問題HTML
- Git常見問題Git
- 前端常見問題前端
- 常見12個python面試題整理Python面試題
- phpMyAdmin工具常見問題PHP
- c++ 常見問題C++
- APatch常見問題解答
- 字串混淆常見問題字串
- RapidWeaver 8常見問題API
- Android Studio常見問題(+)Android
- weex常見問題解析
- sonar常見問題分析