将Gridview HTML传递到电子邮件正文(字符串) [英] Pass Gridview HTML into email body (string)

查看:85
本文介绍了将Gridview HTML传递到电子邮件正文(字符串)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所有人,我是b $ b

我一直在尝试使用百万种方法让我的网格视图在电子邮件正文中可见..

其中一个方法是这样的:



 私有 函数 RenderGridView()作为 字符串 
Dim writer As StringWriter
Dim htmlWriter As HtmlTextWriter(writer)
尝试
gdEmail.RenderControl(htmlWriter)
Catch ex As HttpException

结束 尝试

返回 writer.ToString()
结束 功能

公共 覆盖 Sub VerifyRenderingInServerForm( ByVal control As System.Web.UI.Control)


结束 Sub
受保护的 覆盖 Sub 渲染( ByVal writer As System.Web.UI.HtmlTextWriter)
如果页面 IsNot 没什么 然后
页面.VerifyRenderingInServerFor m(
结束 如果
MyBase .Render(writer)
结束 Sub





 Dim StrEmailBody As String =

StrEmailBody = StrEmailBody& RenderGridView()







这是我收到的电子邮件的结果:



& lt; div& gt; 
& lt; table cellspacing =& quot; 1& quot; CELLPADDING =安培; QUOT; 3及QUOT; ID =安培; QUOT; MainContent_gdEmail&安培; QUOT;风格=安培; QUOT;背景颜色:白色;边框颜色:白色;边框宽度:2px的;边界式:脊;&安培; QUOT;&安培; GT;
& lt; tr style =& quot; color:#E7E7FF; background-color:#4A3C8C; font-weight:bold;& quot;& gt;
& lt; th scope =& quot; col& quot;& gt; Reg。 No& lt; / th& gt;& lt; th scope =& quot; col& quot;& gt; Requestor& lt; / th& gt;& lt; th scope =& quot; col& & gt; Control No& lt; / th& gt;& lt; th scope =& quot; col& quot;& gt; Cert。类型&安培; LT; /第&安培; GT;
& lt; / tr& gt;& lt; tr style =& quot; color:Black; background-color:#DEDFDE;& quot;& gt;
& lt; td& gt; WC-DG / 20120813/001363& lt; / td& gt;& lt; td& gt; EPJ6520-HAMDAN BIN JELANI& lt; / td& gt;& LT; TD&安培; GT; WC-DG0216&安培; LT; / TD&安培; GT;&安培; LT; TD&安培; GT; CALIBRATE&安培; LT; / TD&安培; GT;
& lt; / tr& gt;& lt; tr style =& quot; color:Black; background-color:#DEDFDE;& quot;& gt;
& lt; td& gt; WC-DG / 20120817/001379& lt; / td& gt;& lt; td& gt; EPJ6520-HAMDAN BIN JELANI& lt; / td& gt;& LT; TD&安培; GT; WC-DG0044&安培; LT; / TD&安培; GT;&安培; LT; TD&安培; GT; CALIBRATE&安培; LT; / TD&安培; GT;
& lt; / tr& gt;& lt; tr style =& quot; color:Black; background-color:#DEDFDE;& quot;& gt;
& lt; td& gt; WC-DG / 20120817/001380& lt; / td& gt;& lt; td& gt; EPJ6520-HAMDAN BIN JELANI& lt; / td& gt;& LT; TD&安培; GT; WC-DG0045&安培; LT; / TD&安培; GT;&安培; LT; TD&安培; GT; CALIBRATE&安培; LT; / TD&安培; GT;
& lt; / tr& gt;& lt; tr style =& quot; color:Black; background-color:#DEDFDE;& quot;& gt;
& lt; td& gt; WC-DG / 20120823/001381& lt; / td& gt;& lt; td& gt; EPJ6520-HAMDAN BIN JELANI& lt; / td& gt;& LT; TD&安培; GT; WC-DG0053&安培; LT; / TD&安培; GT;&安培; LT; TD&安培; GT; CALIBRATE&安培; LT; / TD&安培; GT;
& lt; / tr& gt;& lt; tr style =& quot; color:Black; background-color:#DEDFDE;& quot;& gt;
& lt; td& gt; WC-DG / 20120824/001384& lt; / td& gt;& lt; td& gt; EPJ6520-HAMDAN BIN JELANI& lt; / td& gt;& LT; TD&安培; GT; WC-DG0110&安培; LT; / TD&安培; GT;&安培; LT; TD&安培; GT; CALIBRATE&安培; LT; / TD&安培; GT;
& lt; / tr& gt;& lt; tr style =& quot; color:Black; background-color:#DEDFDE;& quot;& gt;
& lt; td& gt; WC-DG / 20120828/001395& lt; / td& gt;& lt; td& gt; EPJ6520-HAMDAN BIN JELANI& lt; / td& gt;& LT; TD&安培; GT; WC-DG0271&安培; LT; / TD&安培; GT;&安培; LT; TD&安培; GT; CALIBRATE&安培; LT; / TD&安培; GT;
& lt; / tr& gt;& lt; tr style =& quot; color:Black; background-color:#DEDFDE;& quot;& gt;
& lt; td& gt; WC-DG / 20120830/001406& lt; / td& gt;& lt; td& gt; EPJ6520-HAMDAN BIN JELANI& lt; / td& gt;& LT; TD&安培; GT; WC-DG0284&安培; LT; / TD&安培; GT;&安培; LT; TD&安培; GT; CALIBRATE&安培; LT; / TD&安培; GT;
& lt; / tr& gt;& lt; tr style =& quot; color:Black; background-color:#DEDFDE;& quot;& gt;
& lt; td& gt; WC-DG / 20120903/001413& lt; / td& gt;& lt; td& gt; EPJ6520-HAMDAN BIN JELANI& lt; / td& gt;& LT; TD&安培; GT; WC-DG0371&安培; LT; / TD&安培; GT;&安培; LT; TD&安培; GT; CALIBRATE&安培; LT; / TD&安培; GT;
& lt; / tr& gt;& lt; tr style =& quot; color:Black; background-color:#DEDFDE;& quot;& gt;
& lt; td& gt; WC-DG / 20120903/001414& lt; / td& gt;& lt; td& gt; EPJ6520-HAMDAN BIN JELANI& lt; / td& gt;& LT; TD&安培; GT; WC-DG0067&安培; LT; / TD&安培; GT;&安培; LT; TD&安培; GT; CALIBRATE&安培; LT; / TD&安培; GT;
& lt; / tr& gt;& lt; tr style =& quot; color:Black; background-color:#DEDFDE;& quot;& gt;
& lt; td& gt; WC-DG / 20120905/001415& lt; / td& gt;& lt; td& gt; EPJ6520-HAMDAN BIN JELANI& lt; / td& gt;& LT; TD&安培; GT; WC-DG0137&安培; LT; / TD&安培; GT;&安培; LT; TD&安培; GT; CALIBRATE&安培; LT; / TD&安培; GT;
& lt; / tr& gt;
& lt; / table& gt;
& lt; / div& gt;









我错过了什么步骤?谢谢你们。









---更新--- -



完整代码:



受保护的子BtnApprove_Click(ByVal sender As Object,ByVal e As EventArgs)处理btnApprove.Click 
SendNotificationEmail(regArr,Nothing,Nothing,Nothing,Nothing,Nothing,APPROVED,nxt)
End Sub

Public Sub SendNotificationEmail(ByVal RegNo As String,ByVal RequestorName As String,ByVal RequestorID As String,ByVal CtrlNo As String,ByVal CertType As String,ByVal Remarks As String,ByVal ReceiverType As String,ByVal NextAppID As String)
If ReceiverType = APPROVED和NextAppID<> LAST然后

Dim StrEmailBody As String =
StrEmailBody = StrEmailBody& 问候,& Chr(10)& Chr(10)
StrEmailBody = StrEmailBody& 你有新的证书等待你的批准:& Chr(10)& Chr(10)&环境。新浪潮& Environment.NewLine
StrEmailBody = StrEmailBody& &环境。新浪潮& Environment.NewLine
StrEmailBody = StrEmailBody& RegNo
StrEmailBody = StrEmailBody& &环境。新浪潮& Environment.NewLine
StrEmailBody = StrEmailBody& 请点击以下网址作为参考:& Chr(10)& < &安培; http://& HttpContext.Current.Request.Url.Host& HttpContext.Current.Request.ApplicationPath& /Account /Login.aspx& > 中&安培; Chr(10)
StrEmailBody = StrEmailBody& RenderGridView()

Dim StrEmailSubject =TQM INSTRUMENT E-CERTIFICATE REQUISITION CONFIRMATION
SendEmailNotification(GetEmailObject(StrEmailBody,StrEmailSubject,RequestorID,NextAppID))
End if
结束Sub

私有函数RenderGridView()As String
Dim writer As New StringWriter
Dim htmlWriter As New HtmlTextWriter(writer)
尝试
gdEmail.RenderControl (htmlWriter)
Catch ex As HttpException

结束尝试

返回writer.ToString()
结束函数

公开覆盖Sub VerifyRenderingInServerForm(ByVal control As System.Web.UI.Control)


End Sub
受保护的覆盖子渲染(ByVal writer As System.Web.UI.HtmlTextWriter)
如果Page IsNot Nothing则
Page.VerifyRenderingInServerForm(Me)
End if
MyBase.Render(writer)
结束子


私人函数SendEmailNotification(ByVal MailSend As MailMessage)As String
Dim webS As New EmailService.emailServices
Dim CountTo As Integer = 1
Dim CountCC As Integer = 1
Dim ToStrS As String =
Dim CCStrS As String =
For each ma As MailAddress在MailSend.To
If CountTo = 1 Then
ToStrS = ToStrS& ma.Address
Else
ToStrS = ToStrS& ; &安培; ma.Address
End if
CountTo = CountTo + 1
Next

For each ma As MailAddress In MailSend.CC
If CountCC = 1 Then
CCStrS = CCStrS& ma.Address
Else
CCStrS = CCStrS& ; &安培; ma.Address
End if
CountCC = CountCC + 1
Next

MailSend.IsBodyHtml = True
Dim s As String = webS.sendmailSmtp(MailSend .Subject,MailSend.Body,sitinoraina.matyazaz@sep.epson.com.sg,Nothing,,MailSend.From.Address,MailSend.From.Address)

SendEmailNotification = s
结束函数

私有函数GetEmailObject(ByVal EmailBody As String,ByVal EmailSubject As String,ByVal RequestorID As String,ByVal NextAppID As String)As MailMessage
Dim TempMail As New MailMessage()
TempMail.From =新邮件地址(eCalibration_Admin@sep.epson.com.sg)
Dim ToColl As MailAddressCollection = TempMail.To
Dim CCColl As MailAddressCollection = TempMail.CC

ToColl.Add(CheckEmailAdd(NextAppID))

TempMail.Subject = EmailSubject
TempMail.Body = EmailBody&环境。新浪潮& TO:&环境。新浪潮& CheckEmailAdd(NextAppID)
返回TempMail
结束函数

私有函数CheckEmailAdd(ByVal touserid As String)As String
Dim Result As String =
Dim dt As DataTable = DBLayer.Util.Data.MsSql.DBFunction.BuildDataTable(SELECT * FROM EPJ_EMAIL WHERE USERID_T =''& touserid&'',DBLayer.ClsConnection.getConnString(Maintenance))

如果dt.Rows.Count> 0然后
结果= dt.Rows(0).Item(EMAILADD_T)
结束如果

CheckEmailAdd =结果
结束函数

解决方案

一切正确。这是因为您没有表明您的电子邮件或多部分电子邮件中的部分具有HTML 内容类型,语法如下:

内容类型:text / plain 





请参阅:

http://en.wikipedia.org/wiki/MIME [ ^ ]。



在本文中,您将看到其他相关的邮件标题,说明多部分消息格式以及对相关 RFC备忘录的引用标准化邮件消息结构。



由于某种原因,您的代码示例与您完全无关问题,因为你从未演示过如何形成邮件消息文本本身,但通常是使用类 System.Net.Mail.MailMessage
$ b完成的$ b http://msdn.microsoft.com/en-us/li brary / system.net.mail.mailmessage.aspx [ ^ ]。



从这篇MSDN文章中,您可以了解如何设置邮件的所有细节。



例如,这个页面解释了简单HTML消息的形成:

http://www.systemnetmail.com/faq/3.1.2.aspx [ ^ ]。



此页面 - 包含内容类型的多部分消息plain / text和plain / html:

http:// www。 systemnetmail.com/faq/3.1.3.aspx [ ^ ]。



要查看MIME媒体类型的完整列表,您需要向IANA发送电子邮件:

http://www.iana.org/assignments/media-types [ ^ ],

http://www.iana.org/assignments/media-types/text [ ^ ]。



参见:

http://en.wikipedia.org/wiki/Internet_Assigned_Numbers_Authority [ ^ ],

http://www.iana.org/ [ ^ ]。



-SA


Hye all,

I have been trying like million methods to make my gridview visible inside email body..
One of the method is like this:

Private Function RenderGridView() As String
       Dim writer As New StringWriter
       Dim htmlWriter As New HtmlTextWriter(writer)
       Try
           gdEmail.RenderControl(htmlWriter)
       Catch ex As HttpException

       End Try

       Return writer.ToString()
   End Function

   Public Overrides Sub VerifyRenderingInServerForm(ByVal control As System.Web.UI.Control)


   End Sub
   Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
       If Page IsNot Nothing Then
           Page.VerifyRenderingInServerForm(Me)
       End If
       MyBase.Render(writer)
   End Sub



 Dim StrEmailBody As String = ""

StrEmailBody = StrEmailBody & RenderGridView()




This is the result from the email I received:

&lt;div&gt;
	&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; id=&quot;MainContent_gdEmail&quot; style=&quot;background-color:White;border-color:White;border-width:2px;border-style:Ridge;&quot;&gt;
		&lt;tr style=&quot;color:#E7E7FF;background-color:#4A3C8C;font-weight:bold;&quot;&gt;
			&lt;th scope=&quot;col&quot;&gt;Reg. No&lt;/th&gt;&lt;th scope=&quot;col&quot;&gt;Requestor&lt;/th&gt;&lt;th scope=&quot;col&quot;&gt;Control No&lt;/th&gt;&lt;th scope=&quot;col&quot;&gt;Cert. Type&lt;/th&gt;
		&lt;/tr&gt;&lt;tr style=&quot;color:Black;background-color:#DEDFDE;&quot;&gt;
			&lt;td&gt;WC-DG/20120813/001363&lt;/td&gt;&lt;td&gt;EPJ6520-HAMDAN BIN JELANI&lt;/td&gt;&lt;td&gt;WC-DG0216&lt;/td&gt;&lt;td&gt;CALIBRATE&lt;/td&gt;
		&lt;/tr&gt;&lt;tr style=&quot;color:Black;background-color:#DEDFDE;&quot;&gt;
			&lt;td&gt;WC-DG/20120817/001379&lt;/td&gt;&lt;td&gt;EPJ6520-HAMDAN BIN JELANI&lt;/td&gt;&lt;td&gt;WC-DG0044&lt;/td&gt;&lt;td&gt;CALIBRATE&lt;/td&gt;
		&lt;/tr&gt;&lt;tr style=&quot;color:Black;background-color:#DEDFDE;&quot;&gt;
			&lt;td&gt;WC-DG/20120817/001380&lt;/td&gt;&lt;td&gt;EPJ6520-HAMDAN BIN JELANI&lt;/td&gt;&lt;td&gt;WC-DG0045&lt;/td&gt;&lt;td&gt;CALIBRATE&lt;/td&gt;
		&lt;/tr&gt;&lt;tr style=&quot;color:Black;background-color:#DEDFDE;&quot;&gt;
			&lt;td&gt;WC-DG/20120823/001381&lt;/td&gt;&lt;td&gt;EPJ6520-HAMDAN BIN JELANI&lt;/td&gt;&lt;td&gt;WC-DG0053&lt;/td&gt;&lt;td&gt;CALIBRATE&lt;/td&gt;
		&lt;/tr&gt;&lt;tr style=&quot;color:Black;background-color:#DEDFDE;&quot;&gt;
			&lt;td&gt;WC-DG/20120824/001384&lt;/td&gt;&lt;td&gt;EPJ6520-HAMDAN BIN JELANI&lt;/td&gt;&lt;td&gt;WC-DG0110&lt;/td&gt;&lt;td&gt;CALIBRATE&lt;/td&gt;
		&lt;/tr&gt;&lt;tr style=&quot;color:Black;background-color:#DEDFDE;&quot;&gt;
			&lt;td&gt;WC-DG/20120828/001395&lt;/td&gt;&lt;td&gt;EPJ6520-HAMDAN BIN JELANI&lt;/td&gt;&lt;td&gt;WC-DG0271&lt;/td&gt;&lt;td&gt;CALIBRATE&lt;/td&gt;
		&lt;/tr&gt;&lt;tr style=&quot;color:Black;background-color:#DEDFDE;&quot;&gt;
			&lt;td&gt;WC-DG/20120830/001406&lt;/td&gt;&lt;td&gt;EPJ6520-HAMDAN BIN JELANI&lt;/td&gt;&lt;td&gt;WC-DG0284&lt;/td&gt;&lt;td&gt;CALIBRATE&lt;/td&gt;
		&lt;/tr&gt;&lt;tr style=&quot;color:Black;background-color:#DEDFDE;&quot;&gt;
			&lt;td&gt;WC-DG/20120903/001413&lt;/td&gt;&lt;td&gt;EPJ6520-HAMDAN BIN JELANI&lt;/td&gt;&lt;td&gt;WC-DG0371&lt;/td&gt;&lt;td&gt;CALIBRATE&lt;/td&gt;
		&lt;/tr&gt;&lt;tr style=&quot;color:Black;background-color:#DEDFDE;&quot;&gt;
			&lt;td&gt;WC-DG/20120903/001414&lt;/td&gt;&lt;td&gt;EPJ6520-HAMDAN BIN JELANI&lt;/td&gt;&lt;td&gt;WC-DG0067&lt;/td&gt;&lt;td&gt;CALIBRATE&lt;/td&gt;
		&lt;/tr&gt;&lt;tr style=&quot;color:Black;background-color:#DEDFDE;&quot;&gt;
			&lt;td&gt;WC-DG/20120905/001415&lt;/td&gt;&lt;td&gt;EPJ6520-HAMDAN BIN JELANI&lt;/td&gt;&lt;td&gt;WC-DG0137&lt;/td&gt;&lt;td&gt;CALIBRATE&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/table&gt;
&lt;/div&gt;





What step am I missing? Thanks guys.




---UPDATED-----

Full Code:

 Protected Sub BtnApprove_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnApprove.Click
    SendNotificationEmail(regArr, Nothing, Nothing, Nothing, Nothing, Nothing, "APPROVED", nxt)
  End Sub

  Public Sub SendNotificationEmail(ByVal RegNo As String, ByVal RequestorName As String, ByVal RequestorID As String, ByVal CtrlNo As String, ByVal CertType As String, ByVal Remarks As String, ByVal ReceiverType As String, ByVal NextAppID As String)
If ReceiverType = "APPROVED" And NextAppID <> "LAST" Then
           
            Dim StrEmailBody As String = ""
            StrEmailBody = StrEmailBody & "Greetings," & Chr(10) & Chr(10)
            StrEmailBody = StrEmailBody & "You have new certificate awaiting for your approval: " & Chr(10) & Chr(10) & Environment.NewLine & Environment.NewLine
            StrEmailBody = StrEmailBody & "" & Environment.NewLine & Environment.NewLine
            StrEmailBody = StrEmailBody & RegNo
            StrEmailBody = StrEmailBody & "" & Environment.NewLine & Environment.NewLine
            StrEmailBody = StrEmailBody & "Please click below URL for reference: " & Chr(10) & "<" & "http://" & HttpContext.Current.Request.Url.Host & HttpContext.Current.Request.ApplicationPath & "/Account/Login.aspx" & ">" & Chr(10)
            StrEmailBody = StrEmailBody & RenderGridView()
         
            Dim StrEmailSubject = "TQM INSTRUMENT E-CERTIFICATE REQUISITION CONFIRMATION "
            SendEmailNotification(GetEmailObject(StrEmailBody, StrEmailSubject, RequestorID, NextAppID))
  End If
    End Sub

 Private Function RenderGridView() As String
        Dim writer As New StringWriter
        Dim htmlWriter As New HtmlTextWriter(writer)
        Try
            gdEmail.RenderControl(htmlWriter)
        Catch ex As HttpException

        End Try

        Return writer.ToString()
    End Function

    Public Overrides Sub VerifyRenderingInServerForm(ByVal control As System.Web.UI.Control)


    End Sub
    Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
        If Page IsNot Nothing Then
            Page.VerifyRenderingInServerForm(Me)
        End If
        MyBase.Render(writer)
    End Sub


    Private Function SendEmailNotification(ByVal MailSend As MailMessage) As String
        Dim webS As New EmailService.emailServices
        Dim CountTo As Integer = 1
        Dim CountCC As Integer = 1
        Dim ToStrS As String = ""
        Dim CCStrS As String = ""
        For Each ma As MailAddress In MailSend.To
            If CountTo = 1 Then
                ToStrS = ToStrS & ma.Address
            Else
                ToStrS = ToStrS & ";" & ma.Address
            End If
            CountTo = CountTo + 1
        Next

        For Each ma As MailAddress In MailSend.CC
            If CountCC = 1 Then
                CCStrS = CCStrS & ma.Address
            Else
                CCStrS = CCStrS & ";" & ma.Address
            End If
            CountCC = CountCC + 1
        Next

        MailSend.IsBodyHtml = True
    Dim s As String = webS.sendmailSmtp(MailSend.Subject, MailSend.Body, "sitinoraina.matyazaz@sep.epson.com.sg", Nothing, "", MailSend.From.Address, MailSend.From.Address)
      
        SendEmailNotification = s
    End Function

    Private Function GetEmailObject(ByVal EmailBody As String, ByVal EmailSubject As String, ByVal RequestorID As String, ByVal NextAppID As String) As MailMessage
        Dim TempMail As New MailMessage()
        TempMail.From = New MailAddress("eCalibration_Admin@sep.epson.com.sg")
        Dim ToColl As MailAddressCollection = TempMail.To
        Dim CCColl As MailAddressCollection = TempMail.CC

        ToColl.Add(CheckEmailAdd(NextAppID))

        TempMail.Subject = EmailSubject
        TempMail.Body = EmailBody & Environment.NewLine & "TO : " & Environment.NewLine & CheckEmailAdd(NextAppID)
        Return TempMail
    End Function

    Private Function CheckEmailAdd(ByVal touserid As String) As String
        Dim Result As String = ""
        Dim dt As DataTable = DBLayer.Util.Data.MsSql.DBFunction.BuildDataTable("SELECT * FROM EPJ_EMAIL WHERE USERID_T = ''" & touserid & "'' ", DBLayer.ClsConnection.getConnString("Maintenance"))

        If dt.Rows.Count > 0 Then
            Result = dt.Rows(0).Item("EMAILADD_T")
        End If

        CheckEmailAdd = Result
    End Function

解决方案

All correct. This is because you provide no indication that your e-mail or a part in multipart e-mail has HTML content type, in this syntax:

Content-Type: text/plain



Please see:
http://en.wikipedia.org/wiki/MIME[^].

In this article, you will see other relevant mail message header, explanation of multipart message format and reference to relevant RFC memoranda standardizing a mail message structure.

By some reason, your code sample is totally irrelevant to you problem, as you never demonstrated how you formed the mail message text itself, but usually it is done using the class System.Net.Mail.MailMessage:
http://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.aspx[^].

From this MSDN article you can find out how to set all the detail of the message.

For example, this page explains forming of simple HTML message:
http://www.systemnetmail.com/faq/3.1.2.aspx[^].

And this page — а multipart message with content types "plain/text" and "plain/html":
http://www.systemnetmail.com/faq/3.1.3.aspx[^].

To check the the full list of MIME media type, you need to address to IANA:
http://www.iana.org/assignments/media-types[^],
http://www.iana.org/assignments/media-types/text[^].

See also:
http://en.wikipedia.org/wiki/Internet_Assigned_Numbers_Authority[^],
http://www.iana.org/[^].

—SA


这篇关于将Gridview HTML传递到电子邮件正文(字符串)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆