asp.net中Post表单保存页面状态并输出源码的实现方法

Html页面


代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"
ValidateRequest="false" %>
<%@ Register Src="UserControl/Ucone.ascx" TagName="Ucone" TagPrefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>页面提交后提取Html源码(保持状态)</title>
<script type="text/javascript">
function getAllCode_IE() {
document.getElementById("hid_html").value=document.documentElement.outerHTML;
}
function getAllCode_FireFox(){
return document.body.innerHTML.toString();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<uc1:Ucone ID="Ucone1" runat="server" />
</div>
</form>
</body>
</html>

用户控件


代码如下:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Ucone.ascx.cs" Inherits="UserControl_Ucone" %>
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:Button ID="btnAdd" runat="server" Text="Add" />
<input type="hidden" id="hid_html" name="hid_html" />
<div id="div_inner_input" runat="server">
</div>

用户控件后台:


代码如下:

public partial class UserControl_Ucone : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
this.btnAdd.Attributes.Add("onclick", "return getAllCode_IE();");
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
this.btnAdd.Click += new EventHandler(btnAdd_Click);
}
void btnAdd_Click(object sender, EventArgs e)
{
this.div_inner_input.InnerText = Request.Form["hid_html"].ToString();
}
}

作者: Ruanyiniu(Ryan)

(0)

相关推荐

  • ASP.Net中表单POST到其他页面的方法分享

    在ASP中,我们通常把表单提交到另外一个页面(接受数据页面).但是在ASP.NET中,服务端表单通常都是提交到本页面的,如果我设置 复制代码 代码如下: form1.action="test.aspx"; 那么就会导致视图验证错误的错误,因为Asp.net安全机制引起的.我们也可以关闭这个验证,在接受页面中(test.aspx)头部加上 复制代码 代码如下: <%@ Page EnableViewStateMac="false" %> 但这样做不是很安全

  • asp.net中Post表单保存页面状态并输出源码的实现方法

    Html页面 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" ValidateRequest="false" %> <%@ Register Src="UserControl/Ucone.ascx" TagNam

  • ASP.NET中Form表单不可以嵌套使用

    我非常确定在ASP 中是可以有多个form 表单的,以前常常这样干的,在后台分类管理页面中,把添加和修改放在同一个页面,这样就需要用到两个 form 表单进行提交服务器代码处理. 经过测试,在ASP.NET 也是可以一个页面有多个form 表单的,例如下面的代码: <form id="form1"></form><form id="form2"></form><form id="form3"&

  • 在Asp程序中取得表单所有内容的代码

    在Asp中如何得到所有表单的名称跟对应的值.其实,这个问题很简单,但是可能还是有很多人不知道该怎么做,所以特地写下来,仅供参考.在Asp程序中,用来获得客户端数据的对象是 Request,这个对象给我们提供了很多的方法以及属性.比如,有这样一个Form, <FORM METHOD=POST name=cqq ACTION=""> <INPUT TYPE="text" NAME="username"> <INPUT T

  • jquery validate.js表单验证入门实例(附源码)

    小编上网查阅了许多关于jquery.validate的文章,大部门只是介绍它的api和用法,没有一个详细的的入门案例介绍,研究了半天还是无从下手.为此,小编自己做了一个jquery validate.js表单验证入门实例,写的不是特别好,但应该适用于初学者,分享给大家. 以下是validate.js表单验证入门实例参考源码,文章下面有源码下载地址: <html> <head> <meta http-equiv="Content-Type" content=

  • ASP.NET中ListView(列表视图)的使用前台绑定附源码

    1.A,运行效果图 1.B,源代码 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DropLvw.aspx.cs" Inherits="DropLvw" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt

  • jQuery UI Dialog控件中的表单无法正常提交的解决方法

    最近使用jQuery UI的Dialog控件时发现如果在此控件放置表单,则所有表单均无法正常提交,具体表现为: 1.提交按钮失效,点击后无任何反应. 2.即便是使用其它手段使页面产生提交,服务器端也无法取到Dialog中的表单数据. 研究了页面源码后发现,jQuery UI Dialog控件初始化时动态生成的HTML元素被添加到页面的尾部.form元素的后面,而原始的Dialog模板部分(其内包含表单元素)也被移到了 动态生成的HTML元素内.也就是说,原先在form内的表单在Dialog初始化

  • 解决django中form表单设置action后无法回到原页面的问题

    django中form表单设置action后,点提交按钮是跳转到action页面的,比如设置action为login,网址为192.168.1.128,跳转后便会来到192.168.1.128/login,F5刷新也会是重新提交表单对话框,无法回到原页面. 因此就要在django服务器进行重定向,具体就是 from django.shortcuts import redirect #最后返回原页面 return redirect(url) 补充知识:Django + Ajax发送POST表单,并

  • Python爬虫之Selenium中frame/iframe表单嵌套页面

    在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位.这时就需要通过switch_to.frame()方法将当前定位的主体切换为frame/iframe表单的内嵌页面中. 本章中用到的关键方法如下: switch_to.frame():切换为frame/iframe表单的内嵌页面中 switch_to.parent_frame():退出内嵌页面 以ip138网站为例 f

  • Extjs中常用表单介绍与应用

    目标: 知道表单面板如何创建 了解表单面板中xtype的类型的应用 知道表单面板如何验证,绑定,取值 综合应用表单面板(玩转它) 内容: 首先我们要理解的是FormPanel也是继承panel组件的.所以它有着panel的属性 要创建一个表单面板其实很简单 var MyformPanel=new Ext.form.formpanel(); 表单面板和面板一样只是作为一个容器出现的,需要我们使用items加入各控件元素来丰富我们的表单面板, defaults:{},此属性提取了items中各组件项

  • JS中input表单隐藏域及其使用方法

    一.表单隐藏域 隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的.当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上. 代码格式: <input type="hidden" name="..." value="..."> 属性解释: type="hidden"定义隐藏域: name属性定义隐藏域的名称,要保证数据的准确采集,必须定义一个独一无二的名称: value属

随机推荐