欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET热点问题解答14个

程序员文章站 2023-11-22 11:47:10
   1、asp.net能在那些系统中运行?    目前,asp.net还只能奔跑在微软的windows 2000、windows ...
 
  1、asp.net能在那些系统中运行? 

  目前,asp.net还只能奔跑在微软的windows 2000、windows xp和windows 2003的系统中,并且需要微软internet information server(iis)的支持,微软原计划要让windows nt4.0也支持asp.net,但可能微软是有些技术问题或市场考虑,还没有实现nt下的asp.net的支持。 

  2、在一个aspx文件中是否可以使用一种以上的语言? 

  答案让你有点失望,虽然微软的提供了公共语言运行环境(clr,common laguage runtime),实现了多种编程语言间的紧密集成,可以允许你从一个vb对象中导出c#所需的对象来,但一个aspx文件中只能用一种语言,正如你不能在vb.net中使用c#的语法一样。 

  3、aspx文件的服务器端脚本支持那些语言? 

  目前,aspx文件只支持c#、visual basic.net、jscript.net和j#,但是你使用code—behind(代码分离)的方法创建一个独立代码文件,你就可以使用任何.net编译器支持的语言来实现功能了。 

  4、在global.asax文件中能使用code—behind(代码分离)技术吗? 

  当然可以了,例如: 
  global.asax: 
   
  和使用code—behind(代码分离)技术 
  global.asax: 
   
  myapp.vb: 
  imports system.web 
  imports system.web.sessionstate 
  public class myapp 
  sub application_start(byval sender as object, byval e as eventargs) 
  application("online_session") = 0 
  end sub 
  sub session_start(byval sender as object, byval e as eventargs) 
  application.lock() 
  application("online_session") = cint(application("online_session")) + 1 
  application.unlock() 
  end sub 
  sub session_end(byval sender as object, byval e as eventargs) 
  application.lock() 
  application("online_session") = cint(application("online_session")) - 1 
  application.unlock() 
  end sub 
  end class 
  5、我能否看到aspx文件在asp.net中生成的代码吗? 

  可以看到的,当你的aspx文件中包含命令或web.config中声明了时,你就可以在系统目录下的microsoft.net\framework\v1.0.nnnn\temporary asp.net files中找到aspx文件在asp.net下生成的文件。 

  6、在aspx文件中如何注释呢? 

  同asp文件中的方法一样。 
   

  7、aspx文件中是否可以存在一个以上服务器端 form 标记? 

  不可以 

  8、我可以在web窗体中使用自定义数据类型吗 

  可以,你可以把包含自定义数据类型的dll文件放在程序根目录下的bin目录中,asp.net会在数据类型引用时,装载dll文件的。 

  9、我能在global.asax文件中触发那些事件? 
  application对象创建和结束时所触发的事件有 
   application_start 
   application_end 
  session对象创建和结束时所触发的事件有 
  • session_start 
  • session_end 
  对程序有请求发生时触发的事件有 (按发生顺序排列) 
  • application_beginrequest 
  • application_authenticaterequest 
  • application_authorizerequest 
  • application_resolverequestcache 
  • application_acquirerequeststate 
  • application_prerequesthandlerexecute 
  • application_postrequesthandlerexecute 
  • application_releaserequeststate 
  • application_updaterequestcache 
  • application_endrequest 
  当有程序有错误发生时触发的事件有 
  • application_error 
  • application_disposed 
  10、web控件是否支持样式表(css)呢? 

  yes. all web controls inherit a property named cssclass from the base class system.web.ui.webcontrols.webcontrol. the following example defines a css class named input and uses it to modify a textbox control to display text in red 10-point verdana type: 

  支持,所有的web控件都从基类system.web.ui.webcontrols.webcontrol中继承了一个叫做cssclass的属性。 
  例如: 
   
   <html> 
    <head> 
    <style> 
    .input { font: 10pt verdana; color: red; } 
    </style> 
    </head> 
    <body> 
    <form runat="server"> 
    <asp:textbox cssclass="input" runat="server" /> 
    </form> 
    </body> 
    </html> 

   11、在aspx文件中默认导入那些名称空间? 

  aspx默认导入的名称空间可以直接引用了,使用其它的名称空间就的自行导入了。 

  默认名称空间 
   system 
   system.collections 
   system.collections.specialized 
   system.configuration 
   system.text 
   system.text.regularexpressions 
   system.web 
   system.web.caching 
   system.web.security 
   system.web.sessionstate 
   system.web.ui 
   system.web.ui.htmlcontrols 
   system.web.ui.webcontrols 
  12、我是否可以自己创建服务器控件呢? 

  可以,创作您自己的 asp.net 服务器控件很容易。创建简单的自定义控件时,您所要做的只是定义从 system.web.ui.control 派生的类并重写它的 render 方法。render 方法采用 system.web.ui.htmltextwriter 类型的参数。控件要发送到客户端的 html 作为字符串参数传递到 htmltextwriter 的 write 方法。 
  例如: 
    服务器控件代码(简单显示字符串):simple.vb: 
    imports system 
    imports system.web 
    imports system.web.ui 

    namespace simplecontrolsamples 

    public class simplevb : inherits control 

    protected overrides sub render(output as htmltextwriter) 
    output.write("<h2>欢迎使用控件开发!</h2>") 
    end sub 
    end class 
    end namespace 
    引用文件simple.aspx: 
    <%@ register tagprefix="simplecontrolsamples" namespace="simplecontrolsamples" assembly="simplecontrolsamplesvb" %> 

    <html> 
    <body> 
    <form method="post" action="simple.aspx" runat=server> 
    <simplecontrolsamples:simplevb id="mycontrol" runat=server/> 
    </form> 
    </body> 
    </html> 

  13、如何在asp.net程序中发送邮件呢? 

  在asp.net程序中发送邮件不再象asp中那样需要组件的支持了,在.net的框架基类的system.web.mail名称空间内包含的mailmessage和smtpmail类可以实现这个功能。 
  例如: 
  dim message as new mail.mailmessage 
  message.from = "web3@163.com" 
  message.to = "web3@163.com" 
  message.subject = "测试" 
  message.body = "内容" 
  mail.smtpmail.smtpserver = "localhost" 
  mail.smtpmail.send(message) 

  14、我将如何通过ado.net读取数据库中的图片并显示它呢? 

  下面举一个从microsoft sql server的pub数据库读取图片并显示它的例子: 
  下面举一个从microsoft sql server的pub数据库读取图片并显示它的例子: 
    <%@ import namespace="system.data.sqlclient" %> 
    <%@ import namespace="system.drawing" %> 
    <%@ import namespace="system.drawing.imaging" %> 
    <%@ import namespace="system.io" %> 
    <script language="vb" runat="server"> 
    sub page_load(sender as object, e as eventargs) 
    dim stream as new memorystream 
    dim connection as sqlconnection 
    connection=new sqlconnection("server=localhost;database=pubs;uid=sa;pwd=") 
    try 
    connection.open() 
    dim command as sqlcommand 
    command = new sqlcommand ("select logo from pub_info where pub_id='0736'", connection) 
    dim image as byte() 
    image = command.executescalar () 
    stream.write (image, 0, image.length) 
    dim imgbitmap as bitmap 
    imgbitmap = new bitmap (stream) 
    response.contenttype = "image/gif" 
    imgbitmap.save (response.outputstream, imageformat.gif) 
    finally 
    connection.close() 
    stream.clse() 
    end try 
    end sub 
    </script>