User Tools

Site Tools


Action disabled: source
prog:csharp:250317-003:index

C# webBrowser 如何獲取 __VIEWSTATE value string (2025-03-17)

  • 在 C# 中,如果你使用 WebBrowser 控制項來獲取 ASP.NET 網頁的 __VIEWSTATE 值,可以通過以下步驟來實現:

AI Answer

步驟

  • 1, 載入網頁:使用 WebBrowser 控制項載入目標網頁。
  • 2, 等待網頁加載完成:使用事件來確保網頁已經完全加載。
  • 3, 獲取 __VIEWSTATE 值:使用 Document 屬性來查找 __VIEWSTATE 的值。

示例代碼

  • using System;
    using System.Windows.Forms;
    
    namespace WebBrowserExample
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                webBrowser1.DocumentCompleted += WebBrowser1_DocumentCompleted;
                webBrowser1.Navigate("https://your-target-url.com");
            }
    
            private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                // 確保網頁已經加載完成
                if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)
                {
                    // 獲取 __VIEWSTATE
                    var viewState = webBrowser1.Document.GetElementById("__VIEWSTATE");
                    if (viewState != null)
                    {
                        string viewStateValue = viewState.GetAttribute("value");
                        MessageBox.Show("VIEWSTATE: " + viewStateValue);
                    }
                    else
                    {
                        MessageBox.Show("__VIEWSTATE 元素未找到。");
                    }
                }
            }
        }
    }

說明

  • webBrowser1.Navigate:載入目標網頁。
  • DocumentCompleted 事件:當網頁加載完成時觸發。
  • GetElementById("__VIEWSTATE"):查找 __VIEWSTATE 元素。
  • GetAttribute("value"):獲取 __VIEWSTATE 的值。

注意事項

  • 確保網頁中存在 __VIEWSTATE 元素,否則會返回 null。
  • 這段代碼需要在 Windows Forms 應用程序中運行,並且需要添加對 System.Windows.Forms 的引用。
  • 這樣你就能夠獲取到 __VIEWSTATE 的值了!
  • 2 person(s) visited this page until now.

prog/csharp/250317-003/index.txt · Last modified: 2025/03/17 17:17 (external edit)