webform用自己的页面运行不起来_webform重新运行 - CSDN
精华内容
参与话题
  • 我在管理页面的编辑区使用了 在本地visual studio 2005开发一切都很正常,传到服务器就会出错,功能还能实现,但总会在事件产生之后提示“WebForm_PostBackOptions 未定义” 发现FreeTextBox控件源代码有这么一...

      我在管理页面的编辑区使用了<FTB:FreeTextBox

      在本地用visual studio 2005开发一切都很正常,传到服务器就会出错,功能还能实现,但总会在事件产生之后提示“WebForm_PostBackOptions 未定义”

      发现FreeTextBox控件源代码有<asp:button id="UploadImage" Text="上传" runat="server" οnclick="UploadImage_OnClick" CausesValidation="false" />这么一句话
      运行后的HTML代码是“<input type="submit" name="UploadImage" value="上传" οnclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;UploadImage&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, false))" id="UploadImage" />”

      后来查了很多资料,只要在服务器多加一个.axd映射就解决了

     

     

     

    ====================================================================================

    以下是网上的参考资料

    现将做好的网站上传至服务器上(.net2.0)后运行发现如下问题:

    在某些页面的LinkButton控件点击后无法运行。IE状态栏提示javascript脚本错误(WebForm_PostBackOptions未定义),但在本地是可以正常使用。在网上查找发现一些服务器空间提供商在对ASP.NET的安全处理措施上,去掉了一些默认的映射,以保证服务器尽可能的少受入侵攻击和潜在的安全漏洞的威胁。

    经在本地测试是因为删除了扩展名:.axd  与 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_isapi.dll的映射造成的问题。
    如果页面中没有表单验证控件,LinkButton运行后在IE中是调用 __doPostBack(...),如果页面中存在表单验证控件,LinkButton在IE中是调用 WebForm_DoPostBackWithOptions(...),这时如果没有.axd映射会出现问题,在IE中"查看源文件"找到如下:

    <script src="/.../WebResource.axd?..." type="text/javascript"></script>

    试着将src中的路径在IE中打开,没有映射该路径是无法被打开。

     

     

     

    解决办法:

    1.将.axd映射加上。但“检查文件是否存在”不能选择。



    2.如果服务器提供商不愿意修改服务器配置,就只好在需要使用LinkButton控件的页面中不使用验证控件,自己写程序进行验证。 或者将LinkButton的CausesValidation设为"False",需要进行验证提交尽量使用Button。但无法使用asp.net ajax,也会出现脚本错误。

     
    展开全文
  • C# WebForm

    千次阅读 2014-03-04 13:59:19
    什么是WebForm常用控件。 WebForm控件是如何解析成为HTML表单的。 WebForm优点。 WebForm缺点。 我使用WebForm常常烦的错误。

    什么是WebForm

    WebForm诞生于2002年

    WebForm是微软开发的一款产品,它将用户的请求和响应都封装为控件。

    WebForm负责封装用于用户端显示的数据。

    在EasyJWeb中,WebForm是一个非常重要,也是使用最为频繁的对象,他充当了在视图及程序之间传输、处理数据的媒介。

    常用方法

    1、WebForm中包含了视图页面中传输进来的数据,可以通过Request.Form.Get("键名")的方式来读取这些数据。由于提交过来的form表单只有只读属性,说以只能使用Get方法获取表单中的值,而不能添加修改表单里面的值。

    2.如果需要更多的用法,请参考EasyJWeb的教程;

    WebForm控件

    HTML控件
    asp .net将HTML控件当做普通字符串渲染到浏览器端(不做任何处理)

    asp .net控件
    经过asp .net高度封装的控件(运行在服务器端/渲染到浏览器端)

    HTML控件
    运行在服务器端/渲染到浏览器端/部分封装(属性多为HTML属性)
    与asp .net控件相比优点: ①操作方便②会对虚拟路径 id→ClientID进行处理


    WebForm控件的运行

    点击ASP按钮会先执行Page_Load事件,然后才会去执行相应的Button_Click()事件。

    WebForm的一个关键点就是PostBack,无论你点击哪一个ASP.NET服务器按钮都会回发到服务器端。而Html控件除非点击submit控件其余是不会回发的。

    但是也可以设定点击的控件是否需要回发的服务器端。如果设置ASP.NET的控件AutoPostBack="false"那么点击这个按钮是不会回发到服务器端的,同样不会造成页面刷新。

    protected void Page_Load(object sender,EventArgs e)

    {

    if(!Page.ISPostBack)

    {

    //TODO:界面初始化工作,如果不在这里面那么每次点击按钮回发的时候,都会先把这里面的方法执行一次,可能会破坏提交过来表单数据准确性和数据完整性。

    }

    }

    WebForm优点

    1.编写简便,所看见的页面就是最后运行的界面,提高了开发效率。

    2.支持事件模型开发。有丰富的服务器组件。   //ASP.NET服务器控件和javascript都事件模型,事件源将事件发送给一个或多个监听器,监听器只要接收到事件,监听器将处理这些事件。

    3.控件丰富。

    WebForm缺点

    1.封装太强,很多底层的东西初学者不是很明白。

    2.自定义控制不灵活。

    3.ViewState处理。

    这里要讲出ViewState的使用中对于开发过程中肯定是非常的方面可以像Session一样的在客户端存放一些零时数据和变量,因为他耗费的服务器资源较少(与Application和Session相比)。默认情况下.NET系统默认对状态数据进行维护,并且适用于任意浏览器。

    但是在出现他之后随之引起的问题,首先性能问题,用户显示页和发送页时的速度仍然可能减慢。设备限制。移动设备可能没有足够的内存容量来存储大量的视图状态数据。潜在的安全风险。视图状态存储在页上的一个或多个隐藏域中。虽然视图状态以哈希格式存储数据,但它可以被篡改。

    使用WebForm一些小技巧

    labTitle.Text = value.ToString().Trim().Replace(System.Environment.NewLine,"<br />");//让输入框中的换行转换成为一个网页显示的回车符号。

    Response.Redirect(Request.Url.ToString()); //表示通知浏览器需要刷新本页

    以流形式下载文件首先需要把Response.Clear();//清除Response中的数据,如果不清除Response里面的遗留数据可能会导致下载的文件存在乱码。

    WebForm前台JS调用后台代码

    1.后台要被调用的函数ss()
    public string ss()
    {
    return("a");
    }
    2.前台js调用示例:
    <script language=javascript>
    var a = "<%=ss()%>";
    alert(a);
    </script>


    展开全文
  • WebForm页面生命周期及asp.net运行机制

    千次阅读 2016-07-11 17:36:32
     1.先上几张原理图着重理解:          现在针对第四副图原理进行解析...3.服务器不会处理类和动态页面,所以找扩展程序  4.交给FrameWork,它其中有个类HttpRuntime,其中有个ProcessRequest
    

    1.先上几张原理图着重理解:

     

     

     

     

     现在针对第四副图原理进行解析:

    流程:

    1.浏览器发送请求

    2.服务器软件(IIS)接收,它最终的目的就是为了向客户输出它请求的动态页面生成的html代码。

    3.服务器不会处理类和动态页面,所以找扩展程序 

    4.交给FrameWork,它其中有个类HttpRuntime,其中有个ProcessRequest()方法

    5.ProcessRequest()创建了HttpWorkerRequest对象,把请求报文都封装在其中(HttpWorkerRequest中有个指针,它指向了扩展程序,待把后续返回的响应报文返回给IIS)

    6.创建HttpContext对象(HttpRequestHttpResponse)请求的报文被拆分成了不同属性而保存在HttpRequest中,方便程序员使用;HttpResponse准备了很多属性,用来保存要生成的响应报文的各个部分。

    7.framework要运行页面对象,首先要创建HttpApplication对象,负责处理整个请求,页面中执行需要环境、安全验证等都封装在其中。

    8.它要调用ProcessRequest (HttpContext context) 执行19个(事件)委托对象,也被叫做请求轨道。

    9.其中在执行到第8个事件中创建请求的页面类对象,并转成HttpHandler接口对象

    10.在11和12事件之间调用了ProcessRequest方法,最后有个finshRequest方法,结束了请求,生成响应报文,再通过HttpWorkerRequest的指针调用扩展程序再调用IIS,IIS最后将响应报文发回给浏览器

    此时一般处理程序流程已经结束。

     

    asp.net页面运行的整体流程和一般处理程序一样,不同之处在于它调用了Page类的ProcessRequest方法,创建了页面控件树,执行了页面声明周期。

    流程:

    1.调用了Page类的ProcessRequest方法

    2.打造页面控件树(_buildControTree()方法)

    3.执行页面生命周期(也就是200多行代码),里面有预定义好的很多种方法,方便程序员在事件中注册方法,实现自己的功能

        3.1 LoadState加载状态

        3.2 PageLoad 页面加载

        3.3 SaveState

    4.调用Render方法,生成html代码

     

    注意:页面自动事件注册机制-----在页面的开头部分,有AutoEventWireup = "true" ,即开启自动事件注册机制

    开启自动事件注册机制后,只要遵循对应约定的格式,如Page_Load,

    当页面声明周期调用PageLoad事件的时候,也就调用了我们的Page_Load方法

     

     

    asp.net运行机制

    1.当第一次访问页面时,页面请求首先依次经过HttpModuls和HttpHandler的处理,服务器接收到HttpHandler的请求后将跳转到需要访问的页面,然后Asp.net Engine 负责找到这个页面后台的类,并实例化为一个临时对象。在此过程中会触发一系列的事件,一部分事件需要经过对象中的方法进行处理,之后服务器会将这个处理后页面交给Response对象,然后再由Response对象将这个页面发送到客户端

     

    2.因为服务器之间的会话已经建立,所以在这个页面上重新提交一些信息并再次向服务器发送请求时,是不用再经过初始化页面这一部分的工作的。故第二条线路是依次提交HttpModuls和HttpHandler请求,然后与临时对象交互并返回。

     

    3.第三条路线与第二条的不同之处在于,在处理请求时,如果涉及到需要调用asp.net Cache时,临时对象直接从asp.net缓存中提取信息并返回。

     

    4.第四条线路是在刷新页面的时候,服务器接收到并发现这个请求曾经处理过,并将处理结果存储到由一个由默认的HttpModule管理的输出缓存中。此时可以直接从缓存中提取信息并返回,无须重新处理一遍。

    展开全文
  • WebForm弹出提示框

    千次阅读 2018-10-16 13:44:09
    1.Response.write("&lt;script&gt;alert('"+value+"')&lt;/script&gt;"); 2.点击页面上的按钮,弹出一个对话框提示是“确定”还是“取消”操作 btnDelRow.Attributes.Add(&......
    1.Response.write("<script>alert('"+value+"')</script>");
    2.点击页面上的按钮,弹出一个对话框提示是“确定”还是“取消”操作
       btnDelRow.Attributes.Add("onclick", "return confirm('确定要删吗?');"); 
    
    展开全文
  • WebForm登录页面(连接数据库)

    千次阅读 2018-07-13 22:36:03
    登录页面:当用户名密码输入正确,点击确定可以跳转到下一个页面 页面代码: string name = TextBox1.Text.Trim();//获取到文本框中的用户名 string pwd = TextBox2.Text;... //连接数据库字段 strin...
  • 判断是否为跨页面提交  跨页面提交的时候,源页面控件的内容被提交到目标页面,然后浏览器执行POST操作(注意,不是GET)。在ASP.NET 1.x中由于页面都是自己提交给自己,可以通过Page的IsPostBack属性来...
  • WebForm_PostBackOptions未定义

    千次阅读 2008-07-17 16:57:00
    今天一空间客户网站出问题,在后台admin_config.aspx运行此句时会出现: javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl05", "", true, "", "", false, true))链接能打开显示为...
  • WebForm页面间传值方法

    千次阅读 2013-01-17 13:13:12
    Asp .NET为我们提供了三种方式,一种是可以通过QueryString来传送相应的值,再一种是通过session变量来传送相应的值,还有就是通过Server.Transfer 方法来实现。 一、使用QueryString  QueryString是一种非常...
  • 我们想法是以不同的服务器端方式输出,然后在页面使用jQuery的ajax实现调用服务器端几个解决方案: 使用一般的webform,在页面用jQuery ajax调用,再从取得的html数据中取得内的内容,写入DOM优点:不用改变现有的...
  • ASP.NET页面间参数传递

    千次阅读 2008-07-31 14:41:00
    ASP.NET较ASP最大的优点,也是其受到越来越多程序员的欢迎的主要原因就是,ASP.NET为开发者提供了事件驱动的开发模式,从此程序员可以像利用可视化编程工具开发Windows应用程序一样来开发ASP.NET的基于Web页面的应用...
  • WebForm运行的部分原理

    千次阅读 2011-10-08 22:24:03
    首先WebForm即web窗体包含两个页面文件:aspx前台页面和cs后台页面文件。通过反编译器Reflector我们可以看到在Dll程序集中前台页面和后台页面分别生成了两个不同的类,而且前台页面aspx类继承于后台页面CS类。   ...
  • 一个.NET的web项目,本来运行得非常好的,突然之间报了WebForm_PostBackOptions未定义这么个js错误,然后导致了页面无法PostBack,很严重,很生气。 顺藤摸瓜,毕竟"WebForm_PostBackOptions"这个东西并不是我自己...
  • ASP.NET WEB FORMS 页面间的传值方法

    千次阅读 2004-07-28 13:55:00
    ASP.NET WEB FORMS 页面间...然而这种简单的应用程序开发模式却给我们带来了一些小问题,举个例子,在传统的ASP应用程序中,你能够通过POST方法很容易的把一个值或多个值从一个页面传送到另一个页面同样的方法在ASP
  • MVC与WebForm的区别

    千次阅读 2017-04-05 16:10:05
    原文:http://www.cnblogs.com/birdshover/archive/2009/08/24/1552614.html http://blog.csdn.net/hdh123123/article/details/49475245
  • 【ASP.NET】Webform与MVC开发比较

    千次阅读 热门讨论 2016-01-20 18:39:35
    而最近,在维护的一个项目中,并没有使用MVC开发,的是Webform开发。这两次经历的结合,引发了我对本篇博客标题的思考,即Webform与MVC开发比较。   【Webform下的开发】  通过这次对ASP.NET Webform的重
  • 然而这种简单的应用程序开发模式却给我们带来了一些小问题,举个例子,在传统的ASP应用程序中,你能够通过POST方法很容易的把一个值或多个值从一个页面传送到另一个页面同样的方法在ASP.NET中实现有点麻烦。...
  • ASP.NET MVC与WebForm区别

    千次阅读 2009-09-01 17:20:00
    对源码和配置文件稍加分析难看出,MVC使用了httpModules来拦截地址请求,具体用到了System.Web.Routing类库(MVC2中,MVC1怎么的忘记了。)而这部分类库被包装在.NET Framework3.5 SP1中,MVC2需要SP1支持也就...
  • Server.Transfer和Request.Redirect区别

    千次阅读 2009-10-22 17:12:00
    先举一个例子(Server.Transfer):ASP.NET Server.Transfer()是在两个页面之间进行传值的好方法,从A页面Transfer到B页面时,就可以在B页面通过Context.Handler获得A页面的一个类的实例,从而在B调用A的各个成员对象。...
  • 浅谈ASP.NET MVC运行过程

    千次阅读 2018-03-16 12:30:21
    描述本篇文章主要概述ASP.NET MVC,具体包括如下内容:1.MVC模式概述2.WebForm概述3.WebForm与MVC区别4.ASP.NET MVC发展历程5.运用程序结构6.ASP.NET MVC 默认约定 一 MVC模式概述1. MVC模式运用领域分析:(1)当前...
  • WebForm、WinForm、Win32之间关系

    千次阅读 2009-01-15 11:40:00
    WebForm、WinForm、Win32之间关系 WebForm是.net中用于开发web应用的一系列技术的通称。...WebForm页面构架是一个可升级的公用语言运行程序模型,被用来在服务器端动态地建立Web页面。WebForm是纯文本文件,
1 2 3 4 5 ... 20
收藏数 9,235
精华内容 3,694
关键字:

webform用自己的页面运行不起来