例如: 如果我在aspx頁面中定義了一個普通的HMLT控件,並且標記爲runt =「server」的服務器控件,那麼頁面被引用在formdata中進行回發,您可以看到服務器控件ID與您輸入的值。瀏覽器如何識別輸入控件是服務器控件,因此應該發送給服務器?
1
A
回答
1
瀏覽器(客戶端)將使用form
標記定義的input
元素中的所有值都取出,並在提交該表單時將它們發送到服務器。添加runat="server"
不會直接影響客戶端(儘管它可能會改變ASP.NET生成的HTML),但它允許(除其他外)ASP.NET更容易處理該控件。例如,當設置了runat="server"
時,您可以從代碼(頁面中或代碼隱藏)中設置控件值,使其不可見等。
詳情參見MSDN的文章(特別是HTML控件部分): http://msdn.microsoft.com/en-us/library/ms973868.aspx
1
rsbarro是正確的(我upvoted他),但他的回答可能是一個有點混亂。
runat="server"
不會以任何方式影響瀏覽器。它仍然會看到輸入,選擇和其他標準HTML控件是否使用.Net的控件生成,或者將常規html標記放入標記中。瀏覽器將所有表單數據發佈到可通過Request.Form [「tagname」]或Request [「tagname」]訪問的「表單」集合中。現在在asp.net中,頁面生命週期的一部分將檢查那些runat =「server」標記的標記。如果它找到它們,那麼它會告訴控件從Request.Form集合中加載它的值。如果HTML控件沒有runat =「server」,那麼它不被視爲服務器控件,訪問所發佈值的唯一方法是通過Request.Form [「tagname」]。
還有更多,請參閱rsbarro的鏈接。
希望這會有所幫助。
相關問題
- 1. 微服務,服務器發送事件和瀏覽器限制
- 2. 服務器控件
- 3. 瀏覽器消息服務器如何識別特定瀏覽器發送推送通知消息
- 4. 服務器控件中的服務器控件ASP.NET
- 5. asp.net服務器控件和html服務器控件有什麼區別
- 6. 服務器控制服務器控制
- 7. 如何用jasper服務器的輸入控件觸發腳本
- 8. 如何讓ASP.NET識別我的自定義服務器控件?
- 9. 使asp.net服務器控件跨瀏覽器兼容
- 10. 服務器發送的事件在谷歌瀏覽器
- 11. Ckeditor 4文件瀏覽器併發送到服務器按鈕
- 12. 服務器發送事件的崩潰我的瀏覽器
- 13. 發送文件從AP服務器的NodeJS到瀏覽器
- 14. 在瀏覽器中調試HTML5服務器發送的事件
- 15. 發送瀏覽器cookie到Web服務
- 16. ASP.NET服務器控件發射服務器端標籤
- 17. 使用服務和控制器向服務器發送數據
- 18. 我應該從瀏覽器端還是服務器端發送用戶鳴叫?
- 19. ASP.NET MVC服務器文件瀏覽器
- 20. SmartGWT服務器文件瀏覽器
- 21. 如何識別http請求是來自瀏覽器還是來自代理服務器(或服務器)?
- 22. Page.Request服務器控件
- 23. asp.net服務器控件
- 24. 嵌套服務器控件
- 25. ASP.net Web服務器控件
- 26. MVC服務器端控件
- 27. ASP.NET服務器控件
- 28. 服務器控件或HTML控件
- 29. 在某些瀏覽器上向控制器注入服務
- 30. 服務器發送事件
U可以看到上面呈現的html,當你看到下面提交的表單數據時,有一個丟失的輸入(位置)控制數據發送到服務器。 __EVENTTARGET: __EVENTARGUMENT: __VIEWSTATE:/ wEPDwUJMzY3MTcyMDIyZGQUNyhFP9fIhqreDHMyXVTQ5L878sZ3WfF JrCMKRZbeQ == __EVENTVALIDATION:/ wEWBgLbrLviDwKM54rGBgLs0bLrBgKw45C8AQK84/y8AQL3jKLTDeKnD8GEDrn9unyF9wmZBVF/QVSeKAcE1Kv2QZSb1XYs Button1的:按鈕 TextBox1中: – sas
嘗試增加名稱= 「位置」 到第一輸入元件或將其設置爲一個值提交表單之前。你看到了價值嗎? – rsbarro
是的,它在formdata中發佈。這是否意味着瀏覽器僅在輸入元素包含「name」屬性時發佈數據。如果是這樣,爲什由於這是HTML規範的一部分,因此@sas: – sas