VB.net的Webbrowser导航到一个.net页面部分变动后,如何只显示网页局部的内容?

VB调用Webbrowser技巧,向Webbrowser中写入HTML内容
VB调用webbrowser技巧
1、如何使网页不出现滚动条: Private Sub mnuScroll1_Click() 注意:必须在网页完全显示之后才可以运行
WebBrowser1.Document.body.Scroll = "no" 不显示滚动条的办法 End Sub Private
Sub mnuScroll2_Click() 注意:必须在网页完全显示之后才可以运行
WebBrowser1.Document.body.Scroll = "Auto" 显示滚动条的办法 End Sub
2、如何获得网页中被选中部分的HTML: Private Sub Command1_Click() Dim objSelection
Dim objTxtRange Set objSelection = WebBrowser1.Document.selection
If Not (objSelection Is Nothing) Then Set objTxtRange =
objSelection.createRange If Not (objTxtRange Is Nothing) Then
Debug.Print objTxtRange.htmlText Set objTxtRange = Nothing End If
Set objSelection = Nothing End If End Sub Private Sub Form_Load()
WebBrowser1.Navigate "http://www.applevb.com" End Sub
&&&&&&&&&&&&&&&&&&&&
向Webbrowser中写入HTML内容的几种方法
首先在Form_Load中加入
WebBrowser1.Navigate "about:blank"
确保Webbrowser1可用
Dim s As String
Dim stream As IStream
s = s + ""
s = s + ""
hello world
s = s + ""
WebBrowser1.Document.Write s
Set o = WebBrowser1.Document.selection.createrange
Debug.Print o
If (Not o Is Nothing) Then
o.pasteHTML "哈哈"
Set o = Nothing
''插入文本框
Set o = WebBrowser1.Document.selection.createrange
o.execCommand "InsertTextArea", False, "xxx"
其中方法3是采用了调用execCommand并且传递控制命令的方法,通过这种方法还可以插入图片等页面元素,详情可以参考MSDN的execCommand命令。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Access denied | share.freesion.com used Cloudflare to restrict access
Please enable cookies.
What happened?
The owner of this website (share.freesion.com) has banned your access based on your browser's signature (43db17a-ua98).Webbrowser打开一个网页,怎样通过按钮运行其中的js脚本?
我的图书馆
Webbrowser打开一个网页,怎样通过按钮运行其中的js脚本?
控制网页的FORMS行为
Private&Sub&Command2_Click()
&&&&With&WebBrowser1.Document.Forms(0)
&&&&&&&&.c2.Checked&=&1
&&&&&&&&.r1(1).Checked&=&1
&&&&End&With
Private&Sub&Command2_Click()
&&&&With&WebBrowser1.Document.Forms(0)
&&&&&&&&.d1.Options(1).Selected&=&1
&&&&End&With
web.Document.getElementsByName("D1").Item(0).selectedIndex&=&1
==============================================
&input&type="radio"&value="n"&checked&name="notecome"&普通
&input&type="radio"&value="c"&name="notecome"&原创
&input&type="radio"&value="z"&name="notecome"&转帖
&input&type="button"&value="发送提交"&name="button"
比如一个网页里有如上代码
我想选择原创
webbrowser中怎么写
Private&Sub&Command1_Click()
&&&&WebBrowser1.Navigate&"c:\ggg.html"
Private&Sub&Command2_Click()
&&&&For&Each&x&In&WebBrowser1.Document.All("notecome")
&&&&&&&&If&x.Value&=&"c"&Then
&&&&&&&&&&&&x.Checked&=&True
&&&&&&&&End&If
============================================================================================
假设你的HTML代码如下:
&&function&abcd(){
&&&&alert("haha");
&&&&return&
&&&a&id&=&'xxx'&href=#&onclick="abcd()"&ggggg&/a&
VB代码如下:
Private&Sub&Command1_Click()
&&&&WebBrowser1.Navigate&"http://www.applevb.com/script_test.html"
Private&Sub&Command2_Click()
&&&&Dim&a,&b
&&&&Dim&d&As&IHTMLDocument2
&&&&For&Each&a&In&WebBrowser1.Document.All
&&&&&&&&Debug.Print&a.tagName
&&&&&&&&If&(a.tagName&=&"SCRIPT")&Then
&&&&&&&&End&If
&&&&&&&&If&(a.tagName&=&"A")&Then
&&&&&&&&&&&&If&a.Id&=&"xxx"&Then
&&&&&&&&&&&&&&&&a.FireEvent&("onclick")
&&&&&&&&&&&&End&If
&&&&&&&&End&If
点击Command1浏览这个网页,点击Command2运行其中的脚本abcd。
==============================================
怎么编程把用户名,密码提交到网页上的登录页?
首先在程序中加入Webbrowser控件并加入引用&Microsoft&HTML&Object&Library。
假设你的HTML页面表单代码如下:
&form&method="POST"&action="http://chen/dll/chat/chatmain.exe/RegUser"&
&&&p&请填写下面表单注册(*项为必添项)&/p&
&&&p&*姓名&input&type="text"&name="Name"&size="20"&&/p&
&&&p&*昵称&input&type="text"&name="NickName"&size="20"&&/p&
&&&p&电子邮件&input&type="text"&name="EMail"&size="20"&&/p&
&&&p&*密码&input&type="text"&name="Password"&size="20"&&/p&
&&&p&&input&type="submit"&value="提交"&name="B1"&&input&type="reset"&value="全部重写"&name="B2"&&/p&
注意其中元素的type、Name、value属性。然后VB中的代码如下:
Private&Sub&Command1_Click()
&&&&WebBrowser1.Navigate&"http://chen/chat/newuser.htm"
Private&Sub&WebBrowser1_DocumentComplete(ByVal&pDisp&As&Object,&URL&As&Variant)
&&&&Dim&vDoc,&vTag
&&&&Dim&i&As&Integer
&&&&Set&vDoc&=&WebBrowser1.Document
&&&&List1.Clear
&&&&For&i&=&0&To&vDoc.All.length&-&1
&&&&&&&&If&UCase(vDoc.All(i).tagName)&=&"INPUT"&Then
&&&&&&&&&&&&Set&vTag&=&vDoc.All(i)
&&&&&&&&&&&&If&vTag.Type&=&"text"&Or&vTag.Type&=&"password"&Then
&&&&&&&&&&&&&&&&List1.AddItem&vTag.Name
&&&&&&&&&&&&&&&&Select&Case&vTag.Name
&&&&&&&&&&&&&&&&&&&&Case&"Name"
&&&&&&&&&&&&&&&&&&&&&&&&vTag.Value&=&"IMGod"
&&&&&&&&&&&&&&&&&&&&Case&"NickName"
&&&&&&&&&&&&&&&&&&&&&&&&vTag.Value&=&"IMGod"
&&&&&&&&&&&&&&&&&&&&Case&"Password"
&&&&&&&&&&&&&&&&&&&&&&&&vTag.Value&=&"IMGodpass"
&&&&&&&&&&&&&&&&&&&&Case&"EMail"
&&&&&&&&&&&&&&&&&&&&&&&&vTag.Value&=&""
&&&&&&&&&&&&&&&&End&Select
&&&&&&&&&&&&ElseIf&vTag.Type&=&"submit"&Then
&&&&&&&&&&&&&&&&vTag.Click
&&&&&&&&&&&&End&If
&&&&&&&&End&If
&&&&Next&i
点击Command1就可以自动填表并提交了。&
=====================================================================================
调用forms下的Submit控件的Click事件,我会做,但我不想这么做.
有没有办法直接调用类似于:web1.document.forms.submit,这句语句我怎么写都不成功
Webbrowser1.document.formName.submit()
不能用,formname为form1所以我调用Webbrowser1.document.form1.submit
出错类型:对象不支持该属性或方法,
然后调用Webbrowser1.document.forms(0).submit()
出错类型同上
Private&Sub&Command1_Click()
&&&&WebBrowser1.Navigate&"http://localhost/webapplication2/MyLogonPage.aspx"
Private&Sub&Command2_Click()
&&&&WebBrowser1.Document.All("Form1").submit
&form&name="form1"&method="post"&action="aa.asp"&
&input&name="reset"&type="reset"&vlaue="reset"&class="button"&
我本想把reset的type改成submit&再提交,可出错,type是只读属性,不能修改,我只要有办法把这页面递交出去就行,当然,用POST也不行,参数太多,组合方式太多
你用下面的代码试一下你的页面:
Private&Sub&Command1_Click()
&&&&WebBrowser1.Navigate&"http://oakhome.xicp.net/webapplication2/MyLogonPage.aspx"
Private&Sub&Command2_Click()
&&&&On&Error&Resume&Next
&&&&For&Each&x&In&WebBrowser1.Document.All
&&&&&&&&List1.AddItem&x.Name
看看在List1里面列出来的页面元素的名字有没有Form1
找到原因了,你的页面是这样的:
&input&language="javascript"&onclick="if&(typeof(Page_ClientValidate)&==&'function')&Page_ClientValidate();&"&name="Submit1"&id="Submit1"&type="submit"&value="Submit"&/&
你把name="Submit1"&改成name="Submit"肯定就不会成功了,很不幸的是我要提交的页面中就有这样一句,现在可有办法解决吗???
=======================================================================
使用WebBrowser_V1接受消息
Private&WithEvents&WebMessage&As&WebBrowser_V1
Private&Sub&Form_Load()
&&Set&WebMessage&=&WebBrowser1.Object
Private&Sub&WebMessage_NewWindow(ByVal&URL&As&String,&ByVal&Flags&As&Long,&ByVal&TargetFrameName&As&String,&PostData&As&Variant,&ByVal&Headers&As&String,&Processed&As&Boolean)
'这里有Flags变量可以取得窗体应有的状态
具体值需要你自己去试试看。对象浏览器里面没有
=======================================================================================================
通过下面的方法遍历页面中的IFrame:
Sub&EnumFrames(ByVal&wb&As&WebBrowser)
Dim&pContainer&As&olelib.IOleContainer
Dim&pEnumerator&As&olelib.IEnumUnknown
Dim&pUnk&As&olelib.IUnknown
Dim&pBrowser&As&SHDocVw.IWebBrowser2
&&&Set&pContainer&=&wb.Object.Document
&&&'&Get&an&enumerator&for&the&frames
&&&If&pContainer.EnumObjects(OLECONTF_EMBEDDINGS,&pEnumerator)&=&0&Then
&&&&&&Set&pContainer&=&Nothing
&&&&&&'&Enumerate&and&refresh&all&the&frames
&&&&&&Do&While&pEnumerator.Next(1,&pUnk)&=&0
&&&&&&&&&On&Error&Resume&Next
&&&&&&&&&'&Clear&errors
&&&&&&&&&Err.Clear
&&&&&&&&&'&Get&the&IWebBrowser2&interface
&&&&&&&&&Set&pBrowser&=&pUnk
&&&&&&&&&If&Err.Number&=&0&Then
&&&&&&&&&&&&Debug.Print&"Frame:&"&&&pBrowser.LocationURL
&&&&&&&&&End&If
&&&&&&Loop
&&&&&&Set&pEnumerator&=&Nothing
喜欢该文的人也喜欢查看: 13129|回复: 7
如何使用webbrowser控件获取目标页面登陆后执行ajax后的返回内容?
该用户从未签到
本帖最后由 tylrr 于
15:23 编辑
请教 和大伙,如何使用webbrowser控件获取目标页面登陆后执行ajax后的返回内容?可能有人问为什么要用webbrowser控件来采,因为目标网站需要登录才能采集,而且每次查询时ajax返回1000条数据,但是前台只显示10数据,所以直接采集ajax快很多。另外ajax地址做了防采集的处理,登录网站后,直接请求ajax地址的话是不会返回数据的。& & 考虑到自己做登录比较麻烦,所以我想用浏览器控件来采集。请大伙指点,谢谢
如图,我登陆目标页面后,用httpwatch监测到一个ajax执行后返回的response, 我想捕获content字段的内容。
_991979.jpg (112.64 KB, 下载次数: 161)
15:22 上传
TA的每日心情开心昨天&12:49签到天数: 548 天[LV.9]以坛为家II
看看第十一个
该用户从未签到
http://www.sufeinet.com/forum.php?mod=viewthread&tid=3941&highlight=webbrowser看看第十一个
[C#] 纯文本查看 复制代码private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
//自动点击弹出确认或弹出提示
IHTMLDocument2 vDocument = (IHTMLDocument2)webBrowser1.Document.DomD
vDocument.parentWindow.execScript(&function confirm(str){} &, &javascript&); //弹出确认
vDocument.parentWindow.execScript(&function alert(str){} &, &javaScript&);//弹出提示
@站长苏飞 是这个吗?
和我说的有什么关系呢?&&不太明白哦~·&&求解释,谢谢·~~!
TA的每日心情开心昨天&12:49签到天数: 548 天[LV.9]以坛为家II
第十九个说错了
该用户从未签到
第十九个说错了
第十九个的方法我试过,是可行的。 问题是ajax每次返回1000条数据,但是前台只显示了10条数据。 如果用第十九个方法来获取的话,一次只能获取到10条数据,&&效率很慢啊。&&所以我才想直接采集ajax的。
TA的每日心情开心昨天&12:49签到天数: 548 天[LV.9]以坛为家II
不可能吧,他获取多少条就会取到多少条,和显示多少条没有关系吧。
你是不是看错了,你看的取的一千条但只显示的第一页吧。
如果是这样,他是每次翻页会再取后10条的,并不是你所说的一下子取了一千条,
该用户从未签到
webBrowser1.Document.Body.OuterH&&AJAX 后的 网页源代码
该用户从未签到
不可能吧,他获取多少条就会取到多少条,和显示多少条没有关系吧。
你是不是看错了,你看的取的一千条但只 ...
我遇到过这样的情况,ajax返回的数据是165条,显示的数据按照最多100条显示
。他的分页没有再次调用ajax。
因为我用httpwatch监控到网页数据发送接收情况。能够看到ajax调用接收了所有的数据。
分页的时候,没有发送任何数据到服务器。
我用webbrowser获取不到全部的数据,只能模拟分页来获取全部数据。比较繁琐。告别依赖,拒绝儿戏,一心一意做下去
【思考、实践、创新....】【就算宅,也要宅出个摸样出来!!!】【不要因为尴尬而错失机会】【不满足就应该去改变!】【优化】【Not For Now,But For the Future!】【肯努力,必能成大器!】【错过拍拖的年龄,那就和工作谈恋爱吧】
随笔- 399&
一般情况下,当ReadyState属性变成READYSTATE_COMPLETE时,Webbrowser控件会通过触发DocumentCompleted事件来指示网页加载完毕。但当加载的网页包含frame时,可能会多次触发该事件,所以不能简单地通过它来判断网页加载完毕。
从微软的官方网站上了解到,并非每个frame都对应了一个DocumentCompleted事件,只有触发了DownloadBegin事件的frame才会有相应的DocumentCompleted事件。另外,最外层的frame总是最后触发DocumentCompleted事件。DocumentCompleted事件具有一个IDispatch *类型的参数,它指示了是在哪个frame上触发的该事件。所以,要判断文档是否加载完毕,只需要判断IDispatch *参数是否是Webbrowser控件的IDispatch。
微软support网站上关于这个问题的说明:
原文及译文如下:(我用Google翻译的,不一定正确,大家见谅)
The Internet Explorer WebBrowser control fires the DocumentComplete event when it is finished downloading a Web page. You can create a event handler function in your application for this event. This article describes the steps to take in determining if a the WebBrowser control is finished downloading a Web page.
在Internet Explorer WebBrowser控件激发DocumentComplete事件完成时下载网页。您可以在应用程序中创建的这一事件的事件处理函数。本文介绍的步骤可以参与决定,如果WebBrowser控件下载完成一个网页。
The WebBrowser control fires the DocumentComplete event when its ReadyState property is changed to READYSTATE_COMPLETE. This indicates that the WebBrowser control has completed downloading the Web page. Here are some important points regarding this event:
In the case of a page with no frames, DocumentComplete is fired once after everything is done.
In case of multiple frames, DocumentComplete gets fired multiple times. Not every frame fires this event, but each frame that fires a DownloadBegin event fires a corresponding DocumentComplete event.
The DocumentComplete event has a IDispatch* parameter, which is the IDispatch of the frame (shdocvw) for which DocumentComplete is fired.
The top-level frame fires the DocumentComplete in the end. So, to check if a page is done downloading, you need to check if the IDispatch* parameter is same as the IDispatch of the WebBrowser control.
WebBrowser控件激发DocumentComplete事件时,它的readyState属性更改为READYSTATE_COMPLETE。这表明,WebBrowser控件已完成下载的网页。以下是一些对这起事件的要点: 在网页的情况下,没有框架,一旦被激发的DocumentComplete一切完成之后。 在多个帧的情况,得到的DocumentComplete多次发射。不是每帧触发这一事件,但每个帧触发一个DownloadBegin事件触发相应的DocumentComplete事件。 DocumentComplete事件的IDispatch *有一个参数,它是框架(shdocvw),这些被激发的DocumentComplete的IDispatch。 在顶级框架火灾最终的DocumentComplete。因此,要检查一个页面完成下载,您需要检查的IDispatch *参数作为WebBrowser控件的IDispatch相同。
For Visual Basic, here is code that performs this check:
Private&Sub&WebBrowser1_DocumentComplete(ByVal&pDisp&As&Object,URL&As&Variant)&&
&&&If&(pDisp&Is&WebBrowser1.Object)&Then&&
&&&&&&Debug.Print&"Web&document&is&finished&downloading"&&
&&&End&If&&
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object,URL As Variant)
If (pDisp Is WebBrowser1.Object) Then
Debug.Print "Web document is finished downloading"
To handle the DocumentComplete event in Visual C++ and determine if the download of the Web page is complete, follow these steps. Note that the steps you follow depend on the way you use the WebBrowser control.
If you are creating the WebBrowser control in a CWnd/CView object, you must follow steps 1 to 4.
If you are creating the WebBrowser control in a CDialog/CFormView object, only need to follow step 4.
If you are using the CHtmlView class provided with Visual C++ 6.0, override CHtmlView::DocumentComplete() and follow step 4, using the m_pBrowserApp member of the CHtmlView class to access the WebBrowser control.
为了处理在Visual C + + DocumentComplete事件,并确定如果网页下载完成后,按照下列步骤。请注意,您按照步骤取决于你如何使用WebBrowser控件。 如果你在创建一个CWnd / CView对象WebBrowser控件,则必须按照步骤1至4。 如果您要创建一个CDialog在WebBrowser控件/ CFormView对象,只需要按照步骤4。 如果您使用的是CHtmlView类提供与Visual C + + 6.0,重写CHtmlView::的DocumentComplete()和后续步骤4,使用该CHtmlView类m_pBrowserApp成员访问WebBrowser控件。
1.Define the OnDocumentComplete method in the header file for your CWnd/CView-derived class:
afx_msg&void&OnDocumentComplete(LPDISPATCH&lpDisp,VARIANT&FAR*&URL);&&
afx_msg void OnDocumentComplete(LPDISPATCH lpDisp,VARIANT FAR* URL);
2.Declare the event sink in the same header file:
DECLARE_EVENTSINK_MAP()&&
DECLARE_EVENTSINK_MAP()
3.In the implementation file (.cpp) for your CWnd/CView-derived class, implement the event sink map:
BEGIN_EVENTSINK_MAP(CYourView,&CView)&&
&&&ON_EVENT(CWBTstView,&ID_WEB_BROWSE,&259&
&&&&&&&&&&&&OnDocumentComplete,&VTS_DISPATCH&VTS_PVARIANT)&&
END_EVENTSINK_MAP()&&
BEGIN_EVENTSINK_MAP(CYourView, CView)
ON_EVENT(CWBTstView, ID_WEB_BROWSE, 259 /* DocumentComplete */,
OnDocumentComplete, VTS_DISPATCH VTS_PVARIANT)
END_EVENTSINK_MAP()
4.Implement the OnDocumentComplete method:
void&CWBTstView::OnDocumentComplete(LPDISPATCH&lpDisp,&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&VARIANT&FAR*&URL)&&
&&&IUnknown*&&pU&&
&&&LPDISPATCH&lpWBD&&
&&&HRESULT&&&&&&
&&&pUnk&=&m_webBrowser.GetControlUnknown();&&
&&&ASSERT(pUnk);&&
&&&hr&=&pUnk-&QueryInterface(IID_IDispatch,&(void**)&lpWBDisp);&&
&&&ASSERT(SUCCEEDED(hr));&&
&&&if&(lpDisp&==&lpWBDisp&)&&
&&&&&&TRACE("Web&document&is&finished&downloading/n");&&
&&lpWBDisp-&Release();&&
void CWBTstView::OnDocumentComplete(LPDISPATCH lpDisp,
VARIANT FAR* URL)
LPDISPATCH lpWBD
pUnk = m_webBrowser.GetControlUnknown();
ASSERT(pUnk);
hr = pUnk-&QueryInterface(IID_IDispatch, (void**)&lpWBDisp);
ASSERT(SUCCEEDED(hr));
if (lpDisp == lpWBDisp )
// Top-level Window object, so document has been loaded
TRACE("Web document is finished downloading/n");
lpWBDisp-&Release();
This approach works when the WebBrowser control navigates to a page that changes the top-level frame. Say if the navigation occurs within a frame itself, then the final DocumentComplete that is fired is that of the frame and not the top-level frame. For example, consider the following scenario. The WebBrowser control is hosting a frameset. Within one frame of the frameset, the user clicks on a link that opens a new page in the frame itself and keeps the rest of the frameset intact. The new page could contain multiple frames again. So, there will be multiple DocumentComplete notifications (one for each new frame). But, since the top-level frame has not changed, the final DocumentComplete would be that of the frame that has changed. If you are interested in checking for the final document complete in this scenario, you could do the following:
Check if the IDispatch parameter of the DocumentComplete is the same as the IDispatch parameter of first NavigateComplete2 event. Since the first NavigateComplete2 is of the top-level frame and the last DocumentComplete is also of the top-level frame, doing a comparison in such a fashion will tell whether the page is done downloading.
这种方法在WebBrowser控件时,导航到一个网页,更改顶级框架。说,如果出现导航本身的框架内,那么最后一个DocumentComplete是发射的是,框架,而不是顶级框架。例如,考虑以下情况。WebBrowser控件主持一个框架。在一个框架集框架,在用户点击链接打开在框架本身就是一种新的一页,保持完整的框架休息。新的页面可能包含多个帧了。因此,将有多个(每个新的框架之一)的DocumentComplete通知。但是,由于顶级框架没有改变,最后的DocumentComplete将是该改变了框架。如果您是在为最后文件在这种情况下完成检查感兴趣,你可以做以下操作: 检查的一个DocumentComplete的IDispatch参数是相同的第一NavigateComplete2事件的IDispatch参数。自第一NavigateComplete2是顶级帧和最后一个DocumentComplete也是顶级框架,做了这样的方式比较,判断该页面进行下载。
Here is some sample C++ code:
LPDISPATCH&glpDisp&=&NULL;&
&&&&&&&&&&&&&&&&&&&&&&&&&&&
void&CWebbrDlg::OnNavigateComplete2Explorer1(LPDISPATCH&pDisp,&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&VARIANT&FAR*&URL)&&
&&&if&(!glpDisp)&&
&&&&&&glpDisp&=&pD&&
void&CWebbrDlg::OnDocumentCompleteExplorer1(LPDISPATCH&pDisp,&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&VARIANT&FAR*&URL)&&
&&&if&(glpDisp&&&&glpDisp&==&pDisp)&&
&&&&&&TRACE("Document&is&done&downloading");&&
&&&&&&glpDisp&=&NULL;&&
LPDISPATCH glpDisp = NULL; // global LPDISPATCH, can also
// be of class scope
// NavigateComplete2 event
void CWebbrDlg::OnNavigateComplete2Explorer1(LPDISPATCH pDisp,
VARIANT FAR* URL)
// Check if glpDisp is NULL. If NULL, that means it is
// the top level NavigateComplete2. Save the LPDISPATCH
if (!glpDisp)
glpDisp = pD
void CWebbrDlg::OnDocumentCompleteExplorer1(LPDISPATCH pDisp,
VARIANT FAR* URL)
if (glpDisp && glpDisp == pDisp)
// if the LPDISPATCH are same, that means
// it is the final DocumentComplete. Reset glpDisp
TRACE("Document is done downloading");
glpDisp = NULL;
阅读(...) 评论()

我要回帖

更多关于 .net页面部分变动 的文章

 

随机推荐