2009-11-23 99 views
2

我尋找這些類型的HTTP參數的詳細信息在ASP.NET Web應用程序中發現:

ctl00$ContentPlaceHolder1$GenericWebUserControl$StartDate5 
ctl00$ContentPlaceHolder1$_rptStateLabels$ctl00$_rptFacilities$ctl01$_btnSelectFacilit.x 

我想明白這些輸入元素的名稱背後的邏輯: 它們是如何產生的? 這樣的給定名稱如何映射到某個給定的HTML或Web應用程序結構?參數名稱的「常見」部分的意義是什麼,比如ctl###位(或者其他類似我沒注意到的模式)?我應該看到多少人?

我正在從希望瞭解正在發送到這樣的應用程序的HTTP請求的人那看着這個 - 也就是說,當我可以期望看到這樣的HTTP參數與其他東西時,給定某些結構的現場。

我還沒有在ASP.NET文檔中找到這個,儘管我對它們並不是很熟悉 - 任何指針都會被讚賞 - 再次,不想知道作爲ASP.NET程序員,我不是(即我不想知道如何用這種東西編碼ASP.NET),而不是像某人分析HTTP級別的Web流量,並想知道這些參數對Web應用程序的重要性以及如何解析他們理解他們的結構,不是作爲一臺機器,而是作爲一個人(我就是這樣)。

回答

0

這個loos像框架分配給服務器web/html控件的元素ID。它實際上與HTTP參數無關。

'$'通常是父/子控件ID之間的分隔符。

+0

Hi o.k.w - 謝謝你的回答。它如何「真的與HTTP參數無關」?這些是由框架明顯生成的HTTP參數的名稱 - 我知道它們確實是HTTP參數。我的問題是這些名稱的結構/邏輯是什麼,以及在知道框架如何生成它們的情況下可以從它們中收集哪些模式。謝謝 - – edan 2009-11-23 13:12:06

0

這些看起來像ASP.Net生成的控件名稱,而不是ASP.Net MVC控件名稱。

在ASP.Net MVC中,您可以控制它們,因爲您必須直接使用它們,而在ASP.Net中,您脫離命名約定,而是消費它們在回發時生成的事件(或者與按鈕交談/無論什麼控制訪問他們的價值)。

我不是很清楚當ASP.Net已經爲你做了那些事情時,能夠解析名稱的結構,從而獲得什麼。

+0

我想解析這個結構,因爲我試圖在HTTP級別分析web應用程序作爲「黑匣子」。我想知道什麼HTTP參數被髮送到應用程序。當我看到所有這些名字時,很明顯這些名稱存在某種結構和含義,但實際結構並不清楚。是否有任何有關這些ASP.Net生成的控件名稱的文檔?例如,如果我有兩個這樣的長名字,一個是「ctl102」,另一個是中間是「ctl103」,但其他情況相同 - 它們之間的關係是什麼? – edan 2009-11-24 06:51:43