一:前台页面
<title>销量分析</title>
<!-- #Include virtual="/sales_manager/system/IpMacDns.htm" -->
</head>
<body>
<form id="form1" runat="server">
<input value="" name="txtMACAddr" id="txtMACAddr" runat="server" style="display:none" >
<input value="" name="txtIPAddr" id="txtIPAddr" runat="server" style="display:none">
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" style="display:none" />
<input id="Hidden1" runat="server" type="hidden" />
#Include 是包含文件IpMacDns.htm,IpMacDns.htm的内容是:
<object id="locator" classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" VIEWASTEXT></object>
<object id="foo" classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223"></object>
<script type="text/javascript" language="javascript">
var service = locator.ConnectServer();
var MACAddr ;
var IPAddr ;
var DomainAddr;
service.Security_.ImpersonationLevel=3;
service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
</script>
<script type="text/javascript" language="javascript" event="OnObjectReady(objObject,objAsyncContext)" for="foo">
if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)
{
if(objObject.MACAddress != null && objObject.MACAddress != "undefined")
MACAddr = objObject.MACAddress;
if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")
IPAddr = objObject.IPAddress(0);
}
</script>
<script type="text/javascript" language="javascript" event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for="foo">
document.forms[0].txtMACAddr.value=unescape(MACAddr);
document.forms[0].txtIPAddr.value=unescape(IPAddr);
if (document.getElementById ("Hidden1").value !="第二次")
{
document.getElementById ("Button1").click ();
}
</script>
二:后台代码
三:page_base类
总体来说就是前台调用后台验证权限的方法, 用hidden是为了避免调用click方法时页面提交,导致页面重新加载,无限循环调用验证方法