dhl 4 0伺服器端控制項

2022-02-13 15:55:18 字數 1089 閱讀 1274

套用母版頁之後,生成的html**:

以下是引用片段: "> " >

是不是看到問題了,原始檔控制項元素的id和生成html檔案的id不一致。表單from的name屬性和id屬性變成了aspnetform,控制項的id屬性被無緣無故了加上了ctl00_contentplaceholder1_字首,其name屬性也加上了ctl00$contentplaceholder1$字首。

這下知道了,難怪提示「'document.getelementbyid(...)' 為空或不是物件」的錯誤了,原來生成頁面後其id都變了。

1. 在asp.net 4.0 中我們可以控制輸出html中的物件id的形式了,之前我們常常看到類似這樣的id

ctl00_maincontent_txtautoid

這在客戶端控制時很不方便,也沒有多少實質的意義

現在我們可以通過設定控制項的clientidmode修改clientid的輸出形式,例如下面**:

1   2       3       4      

將分別輸出

1 2     3     4     

autoid: 自動輸出和之前版本輸出的clientid一樣

static:輸出和server端指定的id一樣的id

predictable:對於datagrid,listview特別有用,使clientid值格式象clientidrowsuffix一樣;

inherit:這個值指定控制項象它的父物件一樣產生id,即我們常說的繼承。

2. asp.net4.0 提供了乙個叫做 viewstatemode 的新屬性,這個屬性可以單獨設定控制項的檢視狀態。在以前版本的 asp.net 中,控制項的檢視只有在 page 的 viewstate 啟用的前提下才可以單獨控制。在 asp.net4.0 中,控制項的檢視狀態可以單獨設定了,也就是說,即使頁面的檢視狀態沒有啟用,控制項依然可以啟用檢視狀態。

viewstatemode 屬性有三種取值:

inherit:檢視狀態從父控制項繼承;

enabled:即使父控制項的檢視狀態沒有啟用,也啟用該控制項的檢視狀態;

disabled:即使父控制項的檢視狀態啟用了,也禁用此控制項的檢視狀態。

控制項伺服器端伺服器控制項與客戶端控制項

在寫這篇文章之前,已經寫過了幾篇關於改控制項伺服器端主題的文章,想要了解的朋友可以去翻一下之前的文章 伺服器控制項的 在伺服器端解釋執行,生成根據使用者的瀏覽器而定的html元素。客戶端控制項由客戶端瀏覽器解釋執行。伺服器控制項需要回發執行,當初次開啟頁面時,需初始化。伺服器端控制項是由runat屬...

伺服器端控制項與客戶端控制項的區別

伺服器控制項的 在伺服器端解釋執行,生成根據使用者的瀏覽器而定的html元素。客戶端控制項由客戶端瀏覽器解釋執行。伺服器控制項需要回發執行,當首次開啟頁面時,需初始化。伺服器端控制項是由runat屬性指示的,runat的值有且僅為一值 server 通過新增runat屬性,一般的html控制項可以被...

socket伺服器端

伺服器 include winsock2.h include string.h include stdio.h include time.h include stdarg.h include stdlib.h pragma comment lib,ws2 32 void errexit const ...