收藏 分销(赏)

面向C复习题库.doc

上传人:精*** 文档编号:10696688 上传时间:2025-06-10 格式:DOC 页数:20 大小:51.92KB 下载积分:10 金币
下载 相关 举报
面向C复习题库.doc_第1页
第1页 / 共20页
面向C复习题库.doc_第2页
第2页 / 共20页


点击查看更多>>
资源描述
面向.NET 的Web 应用程序设计(for C#) (MCP 70-315) 考试模拟题 1. 你创建了一个名为Address的用户控件,此控件文件Address.ascx中定义。Address在 HTML表格中显示地址区域。有些容器页能包括更多的Address用户控件的实例,比如 一个页可能包括送货地址和发单地址。你在Address用户控件中添加了一个公用的名为 Caption的属性,这个选项属性用来区别不同的实例。你希望这个选项属性能够在地址 域的表格的第一个<td>节中显示,并需要在<td>节中加入代码来显示选项,你该采用哪 个代码? A.<td><%=Caption%></td> B.<td><script runat=”server”>Caption</script></td> C.<td><script>document.write(“Caption”);</scripts></td> D.<td>=Caption</td> 正确答案:A 2. 你为一家公司的人力资源部门创建了一个ASP.NET 应用程序,人力资源部的用户将用 这个应用程序来处理新员工的资料。应用程序有几个自动处理的行为,包括创建网络登 录账号,创建电子邮件账户,注册保险福利等。在对你的应用程序进行集成测试时,你 需要验证每个单个的行为能按照正确的顺序成功运行。应用程序中的每个页面的页面指 令中都包括下段: Debug=”True” Trace=”True” 希望页面正常显示输出后,Web浏览器能立即提供执行信息,你需要为你的页面代码添 加规范来到达这个目的,你该选择哪条语句? A.Trace.Write(); B.Debug.Print(); C.System.Diagnostics.Trace.Write(); D.System.Diagnostics.Debug.Write(); E.System.Diagnostics.Debugger.Log(); 正确答案:A 3. 你为公司ComA创建了一个ASP.NET应用程序,公司采用Microsoft Windows验证方式。 所有的用户都在ComA域中,你希望配置的应用程序用以下的验证规则: ·匿名用户不允许访问应用程序 ·所有的员工除了Tom和King都允许访问应用程序 你该采用哪个代码段来配置应用程序? A.<authorization> <deny users=” ComA\tom, ComA\king”> <allow users=”*”> <deny users=”?”> </authorization> B.<authorization> <allow users=”*”> <deny users=” ComA\tom, ComA\king”> <deny users=”?”> </authorization> C.<authorization> <deny users=” ComA\tom, ComA\king”> <deny users=”?”> <allow users=”*”> </authorization> D.<authorization> <allow users=” ComA\tom, ComA\king”> <allow users=”*”> </authorization> E.<authorization> <allow users=”*”> <deny users=” ComA\tom, ComA\king”> </authorization> 正确答案:C 4. 你创建了一个ASP.NET应用程序ProjectA。你写了代码来指定ProjectA的命名空间结构, 包括所有的名为NamespaceA的命名空间的类声明,你想通过编译ProjectA使每个类的完 全限制命名空间为NamespaceA,同时你还要防止每个类的完全限制命名空间成为 ProjectA. NamespaceA。你需要为ProjectA改变在Common Properties文件夹下的Property Pages对话框,你该怎么做? A.改变AssemblyName属性值为NamespaceA B.清除AssemblyName属性值,使之保留空白 C.改变RootNamespace属性值为NamespaceA D.清除RootNamespace属性值,使之保留空白 正确答案:D 5. 你正在创建一个ASP.NET页面,包含了一个名为specialsLabel的Label控件。一个名为 Specials.txt的文本文件包含了产品的清单。Specials.txt在应用程序的目录中, Specials.txt 中列出的每个产品的名字后面都有一个回车符,你需要specialsLabel中显示一个特殊产 品的列表,从Specials.txt文件中检索到产品的丢失,你该用那个代码段? A.System.IO.StreamReader reader = System.IO.File.OpenText( Server.MapPath(“pecials.txt”); string inout = “8221 ”; while (input !=null) { specialsLabel.Text = string.Format(“0} <br> {1} “ specialsLabel.Text, input); input = reader.BaseStream.ToString(); } reader.Close(); B.System.IO.StreamReader reader = System.IO.File.OpenText( Server.MapPath(“pecials.txt”); string inout = “8221 ”; input = reader.ReadLine(); while (input != null) { specialsLabel.Text = string.Format(“0} <br> {1} “ specialsLabel.Text, input); input = reader.ReadLine(); } reader.Close() C.System.IO.Stream strm = System.IO.File.OpenRead( Server.MapPath(“pecials.txt”); byte[] b 0 new byte[1024]; string input; input = strm.Read(b, 0, b.Length).ToString(); specialsLabel.Text = input strm.Close(); D.System.IO.Stream strm = System.IO.File.OpenRead( Server.MapPath(“pecials.txt”); string input; input = strm.ToString(); specialsLabel.Text = input; strm.Close(); 正确答案:B 6. 你是一家公司的Web 开发员,你创建了一个ASP.NET 的应用程序来访问销售情况的数 据。这些数据都存储在服务器ServerA 上的Microsoft SQL Server 2000 数据库中。公司 购买了一个工厂自动化应用软件,这个应用软件安装在ServerA 上,ServerA 上另外有 一个名为Factory 的SQL Server 2000 实例和一个名为FactoryDB 的数据库。你用 Windows 集成验证的方法与FactoryDB 连接。你想在你的ASP.NET 应用程序中新增一 个页面来显示FactoryDB 中的库存数据,你用SqlConnection 对象连接数据库,现在你 需要在ServerA上创建一个名为Factory 的连接字符串和SQL Server 实例中的FactoryDB 数据库连接。你该用哪个字符串? A. “erver=ServerA;Data Source=Factory;Initial Catalog=FactoryDB;Integrated Security=SSPI”ar B. “erver= ServerA;Data Source=Factory;Database=FactoryDB;Integrated Security=SSP1”ar C. “ata Source= ServerA\Factory;Initial Category=Factory;Integrated Security=SSP1”ar D. “ata Source= ServerA\Factory;Database=FactoryDB; Integrated Security=SSP1”ar 正确答 案:D 7. 你正在创建一个ASP.NET 应用来追踪一家公司的销售订单。此应用使用了ADO.NET DataSet 对象,DataSet 包含了两个DataTable 对象。一个表的名字为Orders,另一个表 名为OrderDetails。来自Orders 表的数据显示在列表框中,你希望当用户在列表框中选 择了Orders 表的信息时,它相应的Order details 就会显示在Grid 中。你想修改这些对 象使你的代码能够找到你选择的order 的所有order details 信息,你该怎么做? A.在DataSet 对象的关系搜集器中添加一个DataRelation 对象 B.用DataSet.Merge 方法把Orders table 和OrderDetails 表相互连接起来 C.在OrderDetails表中添加一个ForeignKeyConstraint D.在OrderDetails 表中添加一个keyref constraint 正确答案:A 8. 你的ASP.NET 应用程序使用DataSet 对象OrderEntry 来管理订单输入的数据。 OrderEntry 对象包括两个DataTable 对象,分别叫OrderNames 和OrderDetails,在这两个表之间定 义了一个名为orderDetailsKey 的外键约束对象。当你试图删除OrderNames 表中和 OrderDetails 表关联的一行时,出现异常,出现这个问题的最可能原因是什么? A.OrderDetails.KeyDeleteRule 当前值为Rule.Cascade B.OrderDetails.KeyDeleteRule 当前值为Rule.SetNull C.OrderDetails.KeyDeleteRule 当前值为Rule.SetDefault D.OrderDetails.KeyDeleteRule 当前值为Rule.None 正确答案:D 9. 你在为一家公司创建ASP.NET应用程序,该程序将调用一个全世界范围的进口商都可以 运行的XML Web服务。这个XML Web服务将会返回一个包含购买酒类的公司清单的 ADO.NET DataSet对象。你要使这个XML Web服务为你的应用程序所用,你该怎么做? A.在Reference对话框的.NET tab页上,选择System.Web.Services.dll. B.在Web References对话框里,输入XML Web服务的地址 C.在你的Global.asax.cs文件中添加using语句,指定XML Web服务地址 D.在你的Global.asax.cs文件中添加事件处理函数,导入与该XML Web服务相关的.wsdl 和.disco文件 正确答案:B 10. 你创建了一个名为Toggle的Web自定义控件,用户可以对其打开和关闭。Toggle控件包 括一个名为toggleButton的Button控件,你为toggleButton.Click写了一个 toggleButton_Click事件处理函数。这个事件调整BorderStyle属性来表示Button的状态是 开还是关。你想在Toggle类中添加代码,当点击toggleButton时,包含Toggle实例的页面 能够处理自定义事件处理函数,你把以下代码加到Toggle类中: public event EventHandler ChangedValue; protected void OnChangedValue(EventArgs e) { ChangedValue(this, e); } 你需要在toggleButton_Click中添加代码,使包含Toggle实例的页面能够处理 ChangedValue事件并执行自定义事件处理代码。为了达到这个目的选择合适的两个答 案? A. ChangedValue(this, EventArgs.Empty); B. s.Click += new System.EventHandler(this.OnChangedValue); C. OnChangedValue(EventArgs.Empty); D. OnChangedValue(this, EventArgs.Empty); 正确答案:B,C 11. 你是一家公司开发多个ASP.NET应用程序的团队中的一员。你想创建一个每个应用程序 都能重复使用的工具条,并且此工具条将显示在每个页面的顶部,供用户浏览。工具条 的内容根据每个用户创建部署时选择的选项不同而改变。你想为你的团队中的每位开发 者的ASP.NET工具箱都添加这一工具条,你该怎么做? A.新建Web控件库工程,在Web自定义控件中创建工具条 B.在ASP.NET工程中添加新的Web用户控件,在Web用户控件中创建工具条 C.在ASP.NET工程中添加新的Web窗体,在Web窗体中设计工具条,保存Web窗体 为.ascx文件 D.在ASP.NET工程中添加新组件类,在组建类设计器中设计工具条 正确答案:A 12. 你在创建一个关于电影票销售的ASP.NET页面。用户选择一个区域,之后在从这个区域 的城市列表中选择。在用户选择了城市后,网站就会显示电影院的名字和地址。你的公 司维护着记录影院信息的数据库,其中包括了所在城市,影院名字和街道地址。你想使 用户在选择地区和城市时,检索和显示电影院名字的信息请求时间最小,你该怎么做? A.修改连接字符串,增加信息包容量为8192 B.把下列的指令加入页面中:OutputCache VaryByParam=”ity”ar C.把下列的指令加入 页面中:OutputCache VaryByControl=”egion;city”ar D.修改连接字符串,使你的数据 库连接池尽可能的小 正确答案:B 13. 你正在为一家公司制作ASP.NET 页面,页面采用字符串连接方式来收集多个邮件的信 息并组织数据使之在页面上显示。你必须保证页面显示尽可能的快,你该怎么做? A.采用StringBuilder 对象的Append 方法来写代码 B.采用String 对象的Substring 方法来写代码 C.采用String 对象的Concat 方法来写代码 D.用“+”操作符来连接字符串 正确答案:A 14. 你创建了一个ASP.NET页,可以利用图片来标识用户可以点击开始操作的地区,应用程 序的用户使用Internet Explorer。你希望当用户鼠标滑过图片时,出现一个弹出式窗口, 此窗口显示用户点击图片后将会执行的操作,你该怎么做? A.为每个图片设置AlternateText属性来指定你想要显示的文本,并设置ToolTip属性值 为true B.为每个图片设置AlternateText属性来指定你想要显示的文本 C.在每个图片的onmouseover事件处理函数中添加代码,使其调用 System.Web.UI.WebControls.Image类中的RaiseBubbleEvent()方法 D.在每个图片的onmouseover事件处理函数中添加代码,使其调用 System.Web.UI.WebControls.Image类中的ToString()方法 正确答案:B 15. 你在创建一个ASP.NET的应用程序,用户可以使用Microsoft SQL Server .NET数据提供 商来和公司的数据库连接。你的数据库管理员提出,由于应用程序的繁忙使用,当用户 等待新的连接被创建时,数据请求将被封锁。你想通过最小化连接池容量到10来改善吞 吐量。你该怎么做? A.在你应用程序的Web.config文件中的appSettings节下添加connection节,并指定连接 池最小容量为10 B.在你的Web服务器上的Machine.config文件中的appSettings节下添加connection节,并 指定连接池最小容量为10 C.在你用来打开连接的连接字符串中添加Min Pool Size属性,并指定最小连接池容量 为10 D.在你的ADO.NET连接对象中添加Min Pool Size属性,并给这个属性值赋值为10 正确答案:C 16. 你在为一家公司创建ASP.NET应用程序。应用程序的早期版本使用了用Visual Basic 6.0 编写的ActiveX组件。新的应用程序将会继续使用ActiveX组件。你希望尽可能快地整理 ASP.NET应用程序和ActiveX组件之间的数据。你该采用哪两个操作?(选择两个正确 的操作) A.使用ODBC搜集数据 B.使用迟绑定 C.使用早绑定 D.在页面指令中设置AspCompat属性为true E.在页面指令中设置AspCompat属性为false 正确答案:C,D 17. 你开发了英文,法文和德文三个版本的ASP.NET应用程序。每种语言的版本你都有各自 的资源文件。你需要部署合适的基于服务器语言设置的资源文件。你该怎么做? A.创建一个安装程序,为应用程序的每个版本设置Installer.Context属性 B.创建一个安装程序,在执行环境下验证本地设置 C.创建一个安装程序,有个特定的动作来安装仅为地区特指的文件 D.创建一个安装程序,在方法MsiConfigureProduct中安装相应的版本 正确答案:C 18. 你正在计划部署一个名为App的ASP.NET应用程序。App使用名为DataAccess 的Visual Studio .NET的组件,此组件被你的Web服务器上的其他应用程序共享。你用Visual Studio .NET创建Windows安装包,你需要部署DataAccess和ASP.NET应用程序,使他们 在需要时被卸载,你该怎么做? A.为DataAccess创建安装工程,在自定义操作中添加ASP.NET应用 B.创建ASP.NET应用程序安装工程,在为DataAccess创建另外的安装工程 C.创建ASP.NET应用程序的Web安装工程,为DataAccess添加工程输出 D.创建ASP.NET应用程序的Web安装工程,为DataAccess添加合并模块 正确答案:D 19. 你创建了一个ASP.NET页面来显示产品清单。产品的信息存储在Microsoft SQL Server 数据库上。你用对象SqlConnection来连接数据库,你的SQL Server计算机名为 Computer1,包含产品信息的数据库名为SalesDB,产品信息表名为Products。你用SQL Server 用户账号为WebApp,口令为123456来连接SalesDB数据库。你需要设置 SqlConnection对象中的ConnectionString属性,你该使用哪个字符串? A.“Provider=SQLOLEDB.1;File Name =”Data\MyFile.udl B.“Provider=MSDASQL;Data Source= Computer1;Initial Catalog=SalesDB; User ID=WebApp;Password=123456” C. “Data Source= Computer1;Initial Catalog=SalesDB; User ID=WebApp;Password=123456” D.“Data Source= Computer1;Database=SalesDB;Initial File Name=Products;User ID=WebApp;Pwd=123456” 正确答案:C 20. 你计划在你公司内部网上部署你的ASP.NET应用程序。应用程序从Microsoft SQL Server 数据库中获取数据。你想使用SQL Server连接池优化性能,你还需要保护好存储在服务 器上的机密文件同时使管理开销最小。你需要为你的应用程序设置安全性,你该怎么 做? A.在应用程序中使用Microsoft Windows验证,启用身份模拟使用户通过应用程序访问 SQL Server数据库 B.在应用程序中使用Microsoft Windows验证,利用单一Windows账号使用户通过应用 程序访问SQL Server数据库 C.在应用程序中使用基于窗体的验证方法,利用SQL Server的sa登录使用户通过应用程 序访问SQL Server数据库 D.在应用程序中使用基于窗体的验证方法,分配每个用户一个独立的SQL Server登录, 使用户通过应用程序访问SQL Server数据库 正确答案:B 21. 你正在创建一个ASP.NET应用程序,采用基于角色的安全性来允许用户访问那些他们有 权访问的页面。你用Microsoft SQL Server数据库来管理用户和角色的列表。Roles表有 RoleID和RoleName两列。表Users有UserID,UserName和Password三列。UserRoles表有 UserID和RoleID。你需要创建一个存储过程来返回属于某特定的角色的所有用户,你写 了如下的SQL存储过程: CREATE PROCEDURE GetRoleMembers @RoleID int AS 采用哪个代码段来完成此存储过程? A. SELECT UserRoles.UserID, Users.UserName FROM Users INNER JOIN Roles UserRoles On UserRoles.RoleID = Users.UserID WHERE UserRoles.RoleID = @RoleID B. SELECT UserRoles.UserID, Users.UserName FROM UserRoles INNER JOIN Roles On UserRoles.RoleID = Roles.RoleID, Users WHERE UserRoles.RoleID = @RoleID C. SELECT UserRoles.UserID, Users.UserName FROM UserRoles INNER JOIN Users On Users.UserID = UserRoles.UserID WHERE UserRoles.RoleID = @RoleID D. SELECT Users.UserID. Users.UserName FROM Users, UserRoles INNER JOIN Roles On UserRoles.RoleID = Roles.RoleID WHERE UserRoles.RoleID = @RoleID 正确答案:C 22. 你是一家公司的Web开发员,你正在开发一个被德国和美国员工使用的在线详细目录的 Web站点。当用户从目录中选择了一个特定的项目时,站点需要显示此项在美国和德国 的两种不同货币价格,并且每个地点需适当的显示价格信息。你想创建一个方法,来完 成这个任务,你该采用哪段代码? A.private string GetDisplayValue(double value,string inputRegion) { string display: RegionInfo region; region = new RegionInfo(inputRegion); display = value.ToString(“C”); display += region.CurrencySymbol; return display; } B.private string GetDisplayValue(double value,string inputCulture) { string display; NumberFormatInfo LocalFormat = (NumberFormatInfo) NumberFormatInfo.CurrentInfo.Clone(); display = value.ToString(“C”, LocalFormat); return display; } C.private string GetDisplayValue(double value,string inputRegion) { string display; RegionInfo region; region = new RegionInfo(inputRegion); display = value.ToString(“C”); display += region.ISOCurrencySymbol; return display; } D.private string GetDisplayValue(double value, string inputCulture) { string display; CultureInfo culture; culture = new CultureInfo(inputCulture); display = value.ToString(“C”, culture); return display; } 正确答案:D 23. 你创建了一个ASP.NET页面来显示你所选择项目的库存数据。你创建了SQL查询语句来 从Microsoft SQL Server数据库中获取数据。每个项目的验证数据保存在一个名为ItemID 的string变量中,你用来查询的SQL语句存储在一个名为SQL的变量中。你用下面的代码 来构造你的SQL查询: SQL = “SELECT UnitsOnHand, UnitsOnOrder FROM Inventory” + “ WHERE ProductID = “ + ItemID; 数据库中所有的ProductID, UnitsOnHand和UnitsOnOrder列都是int类型,你用一个名为 reader的SqlDataReader对象来检索数据,你想把UnitsOnHand的数量赋值给一个变量 OnHand,你该用那行代码? A.OnHand = reader.GetInt16(0); B.OnHand = reader.GetInt16(1); C.OnHand = reader.GetInt32(0); D.OnHand = reader.GetInt32(1); 正确答案:C 24. 你正在为一家公司的内部网创建ASP.NET应用程序。员工将会使用这个应用程序来完成 会议室使用安排。此会议安排页面包含一个Calendar控件,员工可以使用它来选择日期 预定会议室。Calendar控件如下定义: <asp:calendar id=”WorkDays” runat=”server” OnDayRender=”WorkDays:DayRender”/> 你想在calendar的每个星期五下面显示一条信息“Staff Meeting”,你还希望找到当月日 历 中所有非周末的日期,并用黄色加亮显示。为了实现这些任务,你正在写 WorkDays.DayRender事件处理程序,你写了以下的代码:(行数仅作参考) 1 private void WorkDays_Render(object source, DayRenderEventArgs e) 2{ 3 4} 在这个事件处理函数的第3行你该加入哪些代码? A.if (e.Day.Date.DayOfWeek == DayOfWeek.Friday) { e.Cell.Controls.Add(new LiteralControl(“Staff Meeting”)); } if (!e.Day.IsWeekend) { e.Cell.BackColor = System.Drawing.Color.Yellow; } B.if ((e.Day.Date.Day == 6) && e.DayIsOtherMonth) { e.Cell.Controls.Add(new LiteralControl(“Staff Meeting”)); e.Cell.BackColor = System.Drawing.Color.Yellow; } C.if (e.Day.Date.Day == 6) { e.Cell.Controls.Add(new LiteralControl(“Staff Meeting”)); } if (!e.Day.IsWeekend && !e.Day.IsOtherMonth) { e.Cell.BackColor = System.Drawing.Color.Yellow; } D.if (e.Day.Date.DayOfWeek == DayOfWeek.Friday) { e.Cell.Controls.Add(new LiteralControl(“Staff Meeting”)); } if (!e.Day.IsWeekend && !e.Day.IsOtherMonth) { e.Cell.BackColor = System.Drawing.Color.Yellow; } 正确答案:D 25. 你为一家公司的销售部门创建了一个ASP.NET页面,销售部门的员工使用这个页面来回 顾和修改和销售单相联的客户购买单。这个页包括一个名为OrderHeader的DataGrid控 件,用来显示客户公司的名字,购买单编号和相关的销售订单编号,你用下列HTML来 定义OrderHeader: <asp:DataGrid id=”OrderHeader” runat=”server” AutoGenerateColumns=”False” DataKeyField=”OrderID” In addition, you define the following HTML element for the EditItemTemplate for the PONumber field: <EditItemTemplate> <asp:TextBox ID=”PONumber” width=”30” Text=’<%# Container.DataItem(“PONumber”) %>’ Runat=”server” /> </EditItemTemplate> 你为OrderHeader定义了UpdateCommand事件处理函数,如下所示: private void OrderHeader_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) 在UpdateCommand事件处理函数中,你定义了一个名为PurchaseOrder变量,这个变量是 string类型的。你需要设置这个变量和该项被更新的新值相等,哪条语句需要包含在 UpdateCommand事件处理函数中? A.purchaseOrder = e.Item.Cells[1].Text; B.purchaseOrder =(TextBox)e.Item.Cells[1].Controls[“PONumber”].Text; C.purchaseOrder =((TextBox)e.Item.Cells[1].Controls[0]).Text; D.purchaseOrder = PONumber.Text; 正确答案:C 26. 你为一家公司创建了一个ASP.NET的应用。并创建了一个名为DataCollisionEx的异常 类,这个异常类定义在NamespaceA的命名空间中,你想在用户试图编辑那些其他用户 在编辑中改变的数据时,产生这个异常。你想使用集中错误处理,你需要为你的应用程 序的Application_Error事件处理函数写代码。当异常被产生时,你想让这个事件处理函 数指引用户到DataCollision.aspx页面。你想DataCollision.aspx页从服务器对象中获取错 误信息并为用户格式化信息,你还希望其他异常产生指引用户到一个默认的错误页面, 这个页面在Web.config文件中启用。在Application_Error事件处理函数中,你该采用哪段 代码? A.Type argExType; Exception ex; argExType = Type.GetType(“amespaceA.DataCollisionEx”; ex = Server.GetLastError(); if (ex.GetType().Equals(argExType)) { Response.Redirect(“ataCollision.aspx”; } else { Server.ClearError(); } B.Type argExType; Exception ex; argExType = Type.GetType(“amespaceA.DataCollisionEx”; ex = Server.GetLastError(); if (ex.GetType().Equals(argExType)) { Response.Redirect(“ataCollision.aspx”; } C.Type argExType; Exception ex; argExType = Type.GetType(“amespaceA.DataCollisionEx”; ex = Server.GetLastError().InnerException; if (ex.GetType().Equals(argExType)) { Response.Redirect(“ataCollision.aspx”; } D.Type argExType; E
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服