http的基础知识帮助减少代码量和复杂度的一个Demo

先看完RFC再看!

action属性在asp.net ajax上看来似乎出了点问题,今天看到了唐兄的这篇文章,加上前天学到的一个知识,拿出来跟大家分享一下:

朋友遇到这样一个场景:需要把页面的某个control的值post到另一个页面来显示。html的post是对整个form做post操作,当这个form中其他元素的value比较大时这个form的post此时就不经济了。如果仅仅想把一个type="text"的input的元素的值传送到另一个页面怎么办?使用querystring方式传值是受url约束的,使用ajax方式那么我们还要动手写一些代码,当然还受sandbox的约束。那么我们来看下面这个Demo:

< form  id ="form2"  action ="show.aspx"  method ="post"  target ="mywindow" >
< input  id ="txtbox1"  name ="txt1"  type ="text"  value ="维生素C.net 范维肖 fanweixiao"   />
< input  id ="Button1"  type ="button"  value ="button"  onclick ="doSubmit()"   />
</ form >
< script  type ="text/javascript" >
function doSubmit()
{
    window.open('','mywindow');
    document.forms[
"form2"].submit();
}

</ script >  

我们在Default.aspx中创建了一个form,指定了action到show.aspx页面,target指定了值mywindow。然后我们自己写了这个form的submit事件,首先window.open了一个空页面,并指定了与form的target相同的名字,然后让这个form提交。注意type="text"的input我们添加了name属性,并赋值为txt1。show.aspx页面的代码很简单:

protected   void  Page_Load( object  sender, EventArgs e)
{
        Response.Write(Request[
"txt1"]);
}
 


这样我们就通过action+target两个属性将我们需要的value直接灌入到了打开的空页面中了。

你可能感兴趣的:(http的基础知识帮助减少代码量和复杂度的一个Demo)