模板里的wewin268a标签模板被模板开发者设计已什么开头我在怎么改

repeater中模板中A标签有关问题 - ASP.NET当前位置:& &&&repeater中模板中A标签有关问题repeater中模板中A标签有关问题www.MyException.Cn&&网友分享于:&&浏览:114次repeater中模板中A标签问题&a id=&hyLinkEdit& runat=&server&
href=&JiaCiEdit.aspx?cmd=newInfo&HyId=&%#Eval(&HY_ID&)%&&HyInfotabId=&%#Eval(&Hy_Info_tabId&)%&&&bianji&/a&这个放到repeater的ItemTemplate模板中 怎么编译不通过? 报“服务器标记的格式不正确”------解决方案--------------------
&a id=&hyLinkEdit& runat=&server& href='JiaCiEdit.aspx?cmd=newInfo&HyId=&%#Eval(&HY_ID&)%&&HyInfotabId=&%#Eval(&Hy_Info_tabId&)%&'&bianji&/a&试试
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有登录以解锁更多InfoQ新功能
获取更新并接收通知
给您喜爱的内容点赞
关注您喜爱的编辑与同行
966,690 十一月 独立访问用户
语言 & 开发
架构 & 设计
文化 & 方法
您目前处于:
前端工程精粹(二):静态资源管理与模板框架
前端工程精粹(二):静态资源管理与模板框架
1&他的粉丝
日. 估计阅读时间:
:开启与Netflix、微软、ThoughtWorks等公司的技术创新之路!
亲爱的读者:我们最近添加了一些个人消息定制功能,您只需选择感兴趣的技术主题,即可获取重要资讯的。
相关厂商内容
相关赞助商
合并脚本和样式表,拆分初始化负载
移除重复脚本
使Ajax可缓存
将样式表放在顶部,将脚本放在底部,尽早刷新文档的输出
很不幸,剩下的优化原则都不是使用工具就能很好实现的。或许有人会辩驳:&我用某某工具可以实现脚本和样式表合并&。嗯,必须承认,使用工具进行资源合并并替换引用或许是一个不错的办法,但在大型web应用,这种方式有一些非常严重的缺陷,来看一个很熟悉的例子:
某个web产品页面有A、B、C三个资源
工程师根据&减少HTTP请求&的优化原则合并了资源
产品经理要求C模块按需出现,此时C资源已出现多余的可能
C模块不再需要了,注释掉吧!但C资源通常不敢轻易剔除
不知不觉中,性能优化变成了性能恶化&&
事实上,使用工具在线下进行静态资源合并是无法解决资源按需加载的问题的。如果解决不了按需加载,则势必会导致资源的冗余;此外,线下通过工具实现的资源合并通常会使得资源加载和使用的分离,比如在页面头部或配置文件中写资源引用及合并信息,而用到这些资源的html组件写在了页面其他地方,这种书写方式在工程上非常容易引起维护不同步的问题,导致使用资源的代码删除了,引用资源的代码却还在的情况。因此,在工业上要实现资源合并至少要满足如下需求:
确实能减少HTTP请求,这是基本要求(合并)
在使用资源的地方引用资源(就近依赖),不使用不加载(按需)
虽然资源引用不是集中书写的,但资源引用的代码最终还能出现在页面头部(css)或尾部(js)
能够避免重复加载资源(去重)
将以上要求综合考虑,不难发现,单纯依靠前端技术或者工具处理是很难达到这些理想要求的。现代大型web应用所展示的页面绝大多数都是使用服务端动态语言拼接生成的。有的产品使用模板引擎,比如smarty、velocity,有的则干脆直接使用动态语言,比如php、python。无论使用哪种方式实现,前端工程师开发的html绝大多数最终都不是以静态的html在线上运行的。
接下来我会讲述一种新的模板架构设计,用以实现前面说到那些性能优化原则,同时满足工程开发和维护的需要,这种架构设计的核心思想就是:
基于依赖关系表的静态资源管理系统与模板框架设计
考虑一段这样的页面代码:
根据资源合并需求中的第二项,我们希望资源引用与使用能尽量靠近,这样将来维护起来会更容易一些,因此,理想的源码是:
当然,把这样的页面直接送达给浏览器用户是会有严重的页面闪烁问题的,所以我们实际上仍然希望最终页面输出的结果还是如最开始的截图一样,将css放在头部输出。这就意味着,页面结构需要有一些调整,并且有能力收集资源加载需求,那么我们考虑一下这样的源码:
在页面的头部插入一个html注释&&!--[CSS LINKS PLACEHOLDER]--&&作为占位,而将原来字面书写的资源引用改成模板接口(require)调用,该接口负责收集页面所需资源。require接口实现非常简单,就是准备一个数组,收集资源引用,并且可以去重。最后在页面输出的前一刻,我们将require在运行时收集到的&A.css&、&B.css&、&C.css&三个资源拼接成html标签,替换掉注释占位&&!--[CSS LINKS PLACEHOLDER]--&&,从而得到我们需要的页面结构。
经过fis团队的总结,我们发现模板层面只要实现三个开发接口,既可以比较完美的实现目前遗留的大部分性能优化原则,这三个接口分别是:
require(String id):收集资源加载需求的接口,参数是资源id。
widget(String template_id):加载拆分成小组件模板的接口。你可以叫它为load、component或者pagelet之类的。总之,我们需要一个接口把一个大的页面模板拆分成一个个的小部分来维护,最后在原来的大页面以组件为单位来加载这些小部件。
script(String code):收集写在模板中的js脚本,使之出现的页面底部,从而实现性能优化原则中的&将js放在页面底部&原则。
实现了这些接口之后,一个重构后的模板页面的源代码可能看起来就是这样的了:
而最终在模板解析的过程中,资源收集与去重、页面script收集、占位符替换操作,最终从服务端发送出来的html代码为:
不难看出,我们目前已经实现了&按需加载&,&将脚本放在底部&,&将样式表放在头部&三项优化原则。
前面讲到静态资源在上线后需要添加hash戳作为版本标识,那么这种使用模板语言来收集的静态资源该如何实现这项功能呢?答案是:静态资源依赖关系表。
假设前面讲到的模板源代码所对应的目录结构为下图所示:
那么我们可以使用工具扫描整个project目录,然后创建一张资源表,同时记录每个资源的部署路径,可以得到这样的一张表:
基于这张表,我们就很容易实现 {require name=&id&} 这个模板接口了。只须查表即可。比如执行{require name=&jquery.js&},查表得到它的url是&/jquery_9151577.js&,声明一个数组收集起来就好了。这样,整个页面执行完毕之后,收集资源加载需求,并替换页面的占位符,即可实现资源的hash定位,得到:
接下来,我们讨论如何在基于表的设计思想上是如何实现静态资源合并的。或许有些团队使用过combo服务,也就是我们在最终拼接生成页面资源引用的时候,并不是生成多个独立的link标签,而是将资源地址拼接成一个url路径,请求一种线上的动态资源合并服务,从而实现减少HTTP请求的需求,比如:
这个&/combo?files=file1,file2,file3,&&的url请求响应就是动态combo服务提供的,它的原理很简单,就是根据get请求的files参数找到对应的多个文件,合并成一个文件来响应请求,并将其缓存,以加快访问速度。
这种方法很巧妙,有些服务器甚至直接集成了这类模块来方便的开启此项服务,这种做法也是大多数大型web应用的资源合并做法。但它也存在一些缺陷:
浏览器有url长度限制,因此不能无限制的合并资源。
如果用户在网站内有公共资源的两个页面间跳转访问,由于两个页面的combo的url不一样导致用户不能利用浏览器缓存来加快对公共资源的访问速度。
对于上述第二条缺陷,可以举个例子来看说明:
假设网站有两个页面A和B
A页面使用了a,b,c,d四个资源
B页面使用了a,b,e,f四个资源
如果使用combo服务,我们会得:
A页面的资源引用为:/combo?files=a,b,c,d
B页面的资源引用为:/combo?files=a,b,e,f
两个页面引用的资源是不同的url,因此浏览器会请求两个合并后的资源文件,跨页面访问没能很好的利用a、b这两个资源的缓存。
很明显,如果combo服务能聪明的知道A页面使用的资源引用为&/combo?files=a,b&和&/combo?files=c,d&,而B页面使用的资源引用为&/combo?files=a,b&,&/combo?files=e,f&就好了。这样当用户在访问A页面之后再访问B页面时,只需要下载B页面的第二个combo文件即可,第一个文件已经在访问A页面时缓存好了的。
基于这样的思考,fis在资源表上新增了一个字段,取名为&pkg&,就是资源合并生成的新资源,表的结构会变成:
相比之前的表,可以看到新表中多了一个pkg字段,并且记录了打包后的文件所包含的独立资源。这样,我们重新设计一下{require name=&id&}这个模板接口:在查表的时候,如果一个静态资源有pkg字段,那么就去加载pkg字段所指向的打包文件,否则加载资源本身。比如执行{require name=&bootstrap.css&},查表得知bootstrap.css被打包在了&p0&中,因此取出p0包的url&/pkg/utils_b967346.css&,并且记录页面已加载了&bootstrap.css&和&A/A.css&两个资源。这样一来,之前的模板代码执行之后得到的html就变成了:
css资源请求数由原来的4个减少为2个。
这样的打包结果是怎么来的呢?答案是配置得到的。
我们来看一下带有打包结果的资源表的fis配置:
我们将&bootstrap.css&、&A/A.css&打包在一起,其他css另外打包,从而生成两个打包文件,当页面需要打包文件中的资源时,模块框架就会收集并计算出最优的资源加载结果,从而解决静态资源合并的问题。
这样做的原因是为了弥补combo在前面讲到的两点技术上的不足而设计的。但也不难发现这种打包策略是需要配置的,这就意味着维护成本的增加。但好在它有两个优势可以一定程度上弥补这个问题:
打包的资源只是原来独立资源的备份。打包与否不会导致资源的丢失,最多是没有合并的很好而已。
配置可以由工程师根据经验人工维护,也可以由统计日志生成,这为性能优化自适应网站设计提供了非常好的基础。
关于第二点,fis有这样辅助系统来支持自适应打包算法:
至此,我们通过基于表的静态资源管理系统和三个模板接口实现了几个重要的性能优化原则,现在我们再来回顾一下前面的性能优化原则分类表,剔除掉已经做到了的,看看还剩下哪些没做到的:
拆分初始化负载
使Ajax可缓存
尽早刷新文档的输出
&拆分初始化负载&的目标是将页面一开始加载时不需要执行的资源从所有资源中分离出来,等到需要的时候再加载。工程师通常没有耐心去区分资源的分类情况,但我们可以利用组件化框架接口来帮助工程师管理资源的使用。还是从例子开始思考:
模板源代码
在fis给百度内部团队开发的架构中,如果这样书写代码,页面最终的执行结果会变成:
模板运行后输出的html代码
fis系统会分析页面中require(id)函数的调用,并将依赖关系记录到资源表对应资源的deps字段中,从而在页面渲染查表时可以加载依赖的资源。但此时dialog.js是以script标签的形式同步加载的,这样会在页面初始化时出现资源的浪费。因此,fis团队提供了require.async的接口,用于异步加载一些资源,源码修改为:
这样书写之后,fis系统会在表里以async字段来标准资源依赖关系是异步的。fis提供的静态资源管理系统会将页面输出的结果修改为:
dialog.js不会在页面以script src的形式输出,而是变成了资源注册,这样,当页面点击按钮触发require.async执行的时候,async函数才会查表找到资源的url并加载它,加载完毕后触发回调函数。
到目前为止,我们又以架构的形式实现了一项优化原则(拆分初始化负载),回顾我们的优化分类表,现在仅有两项没能做到了:
使Ajax可缓存
尽早刷新文档的输出
剩下的两项优化原则要做到并不容易,真正可缓存的Ajax在现实开发中比较少见,而尽早刷新文档的输出的情况facebook在2010年的velocity上提到过,就是BigPipe技术。当时facebook团队还讲到了Quickling和PageCache两项技术,其中的PageCache算是比较彻底的实现Ajax可缓存的优化原则了。fis团队也曾与某产品线合作基于静态资源表、模板组件化等技术实现了页面的PipeLine输出、以及Quickling和PageCache功能,但最终效果没有达到理想的性能优化预期,因此这两个方向尚在探索中,相信在不久的将来会有新的突破。
其实在前端开发工程管理领域还有很多细节值得探索和挖掘,提升前端团队生产力水平并不是一句空话,它需要我们能对前端开发及代码运行有更深刻的认识,对性能优化原则有更细致的分析与研究。fis团队一直致力于从架构而非经验的角度实现性能优化原则,解决前端工程师开发、调试、部署中遇到的工程问题,提供组件化框架,提高代码复用率,提供开发工具集,提升工程师的开发效率。在前端工业化开发的所有环节均有可节省的人力成本,这些成本非常可观,相信现在很多大型互联网公司也都有了这样的共识。
本文只是将这个领域中很小的一部分知识的展开讨论,抛砖引玉,希望能为业界相关领域的工作者提供一些不一样的思路。欢迎关注,对本文有任何意见或建议都可以在fis开源项目中进行反馈和讨论。
作者简介:张云龙,百度公司Web前端研发部前端集成解决方案小组的技术负责人,目前负责F.I.S项目,读者可以关注他的微博:。
感谢对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至。也欢迎大家通过新浪微博()或者腾讯微博()关注我们,并与我们的编辑和其他读者朋友交流。
Author Contacted
语言 & 开发
150 他的粉丝
架构 & 设计
414 他的粉丝
0 他的粉丝
Performance
1 他的粉丝
1 他的粉丝
0 他的粉丝
132 他的粉丝
前端开发框架
0 他的粉丝
告诉我们您的想法
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
使用构建工具
关于资源打包的问题
Re: 使用构建工具
Re: 关于资源打包的问题
不错的文章
很好的前端优化思路
Re: 使用构建工具
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
赞助商链接
InfoQ每周精要
订阅InfoQ每周精要,加入拥有25万多名资深开发者的庞大技术社区。
架构 & 设计
文化 & 方法
InfoQ.com及所有内容,版权所有 ©
C4Media Inc. InfoQ.com 服务器由 提供, 我们最信赖的ISP伙伴。
北京创新网媒广告有限公司
京ICP备号-7
找回密码....
InfoQ账号使用的E-mail
关注你最喜爱的话题和作者
快速浏览网站内你所感兴趣话题的精选内容。
内容自由定制
选择想要阅读的主题和喜爱的作者定制自己的新闻源。
设置通知机制以获取内容更新对您而言是否重要
注意:如果要修改您的邮箱,我们将会发送确认邮件到您原来的邮箱。
使用现有的公司名称
修改公司名称为:
公司性质:
使用现有的公司性质
修改公司性质为:
使用现有的公司规模
修改公司规模为:
使用现在的国家
使用现在的省份
Subscribe to our newsletter?
Subscribe to our industry email notices?
我们发现您在使用ad blocker。
我们理解您使用ad blocker的初衷,但为了保证InfoQ能够继续以免费方式为您服务,我们需要您的支持。InfoQ绝不会在未经您许可的情况下将您的数据提供给第三方。我们仅将其用于向读者发送相关广告内容。请您将InfoQ添加至白名单,感谢您的理解与支持。repeater中模板中A标签问题
20nitaiyoucala]
编辑:www.fx114.net
本篇文章主要介绍了"repeater中模板中A标签问题
20nitaiyoucala]",主要涉及到repeater中模板中A标签问题
20nitaiyoucala]方面的内容,对于repeater中模板中A标签问题
20nitaiyoucala]感兴趣的同学可以参考一下。
&&a&id="hyLinkEdit"&runat="server"&&&href="JiaCiEdit.aspx?cmd=newInfo&HyId=&%#Eval("HY_ID")%&&HyInfotabId=&%#Eval("Hy_Info_tabId")%&"&bianji&/a&
这个放到repeater的ItemTemplate模板中&怎么编译不通过?&报“服务器标记的格式不正确”&&&&&&&&&&&&&&&&&&&&&href="JiaCiEdit.aspx?cmd=newInfo&HyId=&%#Eval("HY_ID")%&&HyInfotabId=&%#Eval("Hy_Info_tabId")%&",&换成单引号1楼&正确解决方案引用楼主&&的回复:&&a&id="hyLinkEdit"&runat="server"&&&href="JiaCiEdit.aspx?cmd=newInfo&HyId=&%#Eval("HY_ID")%&&HyInfotabId=&%#Eval("Hy_Info_tabId")%&"&bianji&/a&
这个放到repeater的ItemTemplate模板中&怎么编译不通过?&报“服务器标……
单看HREF是没有错的&不一定要想1楼说的外单内双&
不过一个&A&标签还用弄成服务器控件这个不应该楼上正解
href='JiaCiEdit.aspx?cmd=newInfo&HyId=&%#Eval("HY_ID")%&&HyInfotabId=&%#Eval("Hy_Info_tabId")%&'&很明显是错误的&不是单引号的问题
&这几天我这篇文章销路不错关键&&参考&&
&http://www.cnblogs.com/dr/archive//2441825.html
&换了个方法,我想在HyInfotabId={2}后面加一个当前时间怎么写
NavigateUrl='&%#System.String.Format("JiaCiEdit.aspx?cmd={0}&HyId={1}&HyInfotabId={2}","newInfo",Eval("HY_ID"),Eval("Hy_Info_tabId"))%&'像一楼的改成单引号&应该就可以了像一楼的改成单引号&应该就可以了NavigateUrl='&%#System.String.Format("JiaCiEdit.aspx?cmd={0}&HyId={1}&HyInfotabId={2}&times={3}","newInfo",Eval("HY_ID"),Eval("Hy_Info_tabId"),)%&'
{3}的参数怎么写,我想加当前时间引用&9&楼&&的回复:NavigateUrl='&%#System.String.Format("JiaCiEdit.aspx?cmd={0}&HyId={1}&HyInfotabId={2}&times={3}","newInfo",Eval("HY_ID"),Eval("Hy_Info_tabId"),)%&'
{3}的参数怎么写,我想加当前时间
?times=&%#Server.UrlEncode(时间)%&
......取当前时间的的话,到目标页面不一样么,你既然把它弄成服务器控件,为啥不在后台设置?ItemDataBound事件里写:
DataRow&drData&=&(e.Item.DataItem&as&DataRowView).R&&//&相关数据行数据
HtmlAnchor&hyLinkEdit&=&e.Item.FindControl("hyLinkEdit")&as&HtmlA
//&这个不是想加什么就加什么吗?
hyLinkEdit.HRef="JiaCiEdit.aspx?cmd=newInfo&HyId="
&&&&+&"drData["HY_ID"].ToString()&+"&HyInfotabId=&%#Eval("Hy_Info_tabId")%&"
&&&&+&"drData["Hy_Info_tabId"].ToString();Sorry,上面写的有些问题:
DataRow&drData&=&(e.Item.DataItem&as&DataRowView).R&&//&相关数据行数据
HtmlAnchor&hyLinkEdit&=&e.Item.FindControl("hyLinkEdit")&as&HtmlA
//&这个不是想加什么就加什么吗?
hyLinkEdit.HRef="JiaCiEdit.aspx?cmd=newInfo&HyId="
&&&&+&"drData["HY_ID"].ToString()&+"&HyInfotabId="
&&&&+&"drData["Hy_Info_tabId"].ToString();DataRow&drData&=&(e.Item.DataItem&as&DataRowView).R
HtmlAnchor&hyLinkEdit&=&e.Item.FindControl("hyLinkEdit")&as&HtmlA
hyLinkEdit.HRef="JiaCiEdit.aspx?cmd=newInfo&HyId="
&&&&+&drData["HY_ID"].ToString()&+"&HyInfotabId="
&&&&+&"drData["Hy_Info_tabId"].ToString();楼上太马虎了呃。。。。希望鹳狸猿童鞋把上面的删掉吧
DataRow&drData&=&(e.Item.DataItem&as&DataRowView).R&&//&相关数据行数据
HtmlAnchor&hyLinkEdit&=&e.Item.FindControl("hyLinkEdit")&as&HtmlA
//&这里可以根据随便加数据信息
hyLinkEdit.HRef="JiaCiEdit.aspx?cmd=newInfo&HyId="&+&drData.Field&int&("HY_ID")
&&&&+"&HyInfotabId="&+&drData.Field&int&("Hy_Info_tabId");因为ID是不能重复的。你这样绑定、又指定了ID肯定是不行了。你会出现多少个ID为hyLinkEdit的A标签啊。所以、报错是正常的。&A&标签还用弄成服务器控件没必要。直接绑定就好了该回复于 11:06:33被版主删除引用&17&楼&&的回复:&A&标签还用弄成服务器控件没必要。直接绑定就好了
对啊repeater&你加了runat=server&成服务器控件会出错&1楼解决了吧去掉a标签中的&runat="server"&即可&&a&id="hyLinkEdit"&runat="server"&href='JiaCiEdit.aspx?cmd=newInfo&HyId=&%#Eval("HY_ID")%&&HyInfotabId=&%#Eval("Hy_Info_tabId")%&'&bianji&/a&
href的双引号编程单引号试试引用&16&楼&&的回复:因为ID是不能重复的。你这样绑定、又指定了ID肯定是不行了。你会出现多少个ID为hyLinkEdit的A标签啊。所以、报错是正常的。
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:原创设计中国联通VI设计A素材是用户有时猴在 14:23:08上传到我图网,
素材大小为9.30 MB,
素材的尺寸为650px×472px,图片的编号是,
颜色模式为RGB,
授权方式为VIP用户下载,成为我图网VIP用户马上下载此图片。
中国联通VI设计A
Copyright & 我图网沪ICP备号 用时:秒&V若您发现您的权利被侵害,请发起知识产权投诉。如何修改AE模板源文件中的文字_百度经验
&&&&&&&&&电脑软件如何修改AE模板源文件中的文字听语音1234567
百度经验:jingyan.baidu.comAdobe After Effects简称“AE”,是Adobe公司推出的一款图形视频处理软件,适用于从事设计和视频特技的机构,包括电视台、动画制作公司、个人后期制作工作室以及多媒体工作室。为节省制作时间或是特效需要,我们会在网上购买或是下载网络共享的AE模板,这些模板是高手前辈们的劳动成果或AE爱好者的试手之作。新手朋友在打开AE模板后,看着繁杂的时间线中的内容,难免有些“光手逮刺猬--不知如何下手”的感觉。暂不管这些模板的来源,本篇经验重点讲述如何来修改模板中的文字。以修改某模板为例,请跟我来:百度经验:jingyan.baidu.comPC电脑64位windows7操作系统Adobe After Effects CS5.5以上版本百度经验:jingyan.baidu.com1打开某AE模板,重链接好脱机素材文件(如果不会,请在我之前写的经验中查),时间线指针移到相应位置,就能看到编辑预览窗口上显示的内容对应时间线的某图层。【备注:本篇不讲插件,如果提示缺少插件,请根据AE的提示安装相应的插件。如果不会,请搜索相应经验。】2在相对应的图层上双击,像剥粽子一样,经过一层层查找,找到最终修改文字的那一层。双击文字层,在编辑预览窗口就能看到这些字成了选中状态,此时,我们就可以改字了。3双击文字层改字,可以在文字面板里修改字体和调整大小。4回到【总合成】,理应看到改后的效果了,可是怎么没变呢?难道是方法不对?别急,我们接着往下看。5啊哈。。。事出有因必有妖,问题原因找到了。细细查看图层,会发现,有一个MP4格式的成品素材,预渲染好的内容,放在了最上面,挡住了我们改后的内容。并非某些人写的【你下载的是二倒手的假模板】吓唬人。(备注:在这里鄙视一下设下暗桩的某人,明明他是拼接的别人作品,还标榜自己是原创。)6把【预渲染的成品视频】“遮挡物”的小眼睛关掉,就能看到自己修改过的内容了。7其它文字的修改方法与上面相同,修改完所有需要修改的内容后,回到主合层,然后渲染输出。(如果不会渲染,请到我之前写过的经验中查看:&AE工程项目渲染输出为视频文件)END经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。投票(53)已投票(53)有得(0)我有疑问(0)◆◆说说为什么给这篇经验投票吧!我为什么投票...你还可以输入500字◆◆只有签约作者及以上等级才可发有得&你还可以输入1000字◆◆如对这篇经验有疑问,可反馈给作者,经验作者会尽力为您解决!你还可以输入500字相关经验00010_百度知道_百度知道热门杂志第1期你不知道的iPad技巧3686次分享第1期win7电脑那些事6472次分享第2期新人玩转百度经验1341次分享第1期Win8.1实用小技巧2624次分享第1期小白装大神1862次分享◆请扫描分享到朋友圈

我要回帖

更多关于 百度开发者授权书模板 的文章

 

随机推荐