JavaScriptでクライアントのMacアドレスを取得してWebサーバーに渡す方法をメモします。
 default.apxに以下のコードを追加
 <asp:HiddenField ID="hdnResultValue" Value="0" runat="server" />
<asp:Button ID="btn1" runat="server"  OnClientClick="GetMacAddr();" onclick="Btn1_Click" Text="GetMAC"/>
 <script type="text/javascript">
   function GetMacAddr() {
        //This function requires following option to be enabled without prompting
        //In Internet Options for IE 5.5 and up
        //Tab Security (Local Internet Sites)
        //Custom Level button
        //"Initialize and script ActiveX control not marked as safe." option enabled
        try {
            var locator = new ActiveXObject("WbemScripting.SWbemLocator");
            var service = locator.ConnectServer(".");
             //Get properties of the network devices with an active IP address
            var properties = service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration" +
            " WHERE IPEnabled=TRUE");
             var e = new Enumerator(properties);
             //Take first item from the list and return MACAddress
            var p = e.item(0);
        }
        catch (exception) {
            //alert('Add your domain to Trusted Sites.');
            window.location = "about:blank";
        }
        document.getElementById("hdnResultValue").value = p.MACAddress;
        //return p.MACAddress;
    }
</script>
  
 C#の方でhdnResultValueに対して操作する。
 protected void Btn1_Click(object sender, EventArgs e)
   {
           string macAddr = hdnResultValue.Value.Replace(":", "");
           label2.Text = hdnResultValue.Value;
   }
 ※注意
・IEでしか動かない。
 ・IE⇒インタネットオプション⇒セキュリティでサイトを信頼済みサイトに追加し、信頼済みサイトのセキュリティレベル設定で「スクリプトを実行しても安全だとマークされていないActiveXコントロールの初期化とスクリプトの実行」を有効にする
 