• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

asp.net 从静态页Post发送数据到服务端页

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

今天在研究Post数据发送问题

要实现在 .html Post到.aspx页

我在.html页面写下这些测试代码

        <form action="Default2.aspx" method="post">
            <input   />
            <input />
        </form>

在Default2.aspx.cs页面中写

Response.Write(Request.Form["TextBox1"].ToString());

 

怎么也获取不了.html页面中的数据,

后来把.html改成.aspx的动态页,代码不变,测试发现还是不行,

后来在HTML控件中添加了runat="server",

    <form action="Default2.aspx" method="post">
        <input />
        <input />
    </form>

发现数据就能传到Default2.aspx中了,

不删除runat="server" 把页面改回静态页,又不能传送了。

网上找了很多代码说,静态页发来的数据只能用Request.Files[]来获取,

就在Default2.aspx.cs页面中写

Response.Write(Request.Files["TextBox1"].ToString());

还是不能获取数据,

后来在万般无奈之时分析加runat="server"的动态测试页发现,

动态页发到客户端会在标签中加入name="TextBox1",

于是在静态测试页中直接加入name="TextBox1"

发现Default2.aspx.cs中可以获取值了。

从中得出一结论,在ASP.NET中,POST传值是根据name属性来区分不同控件的

Request.Form["TextBox1"]是在查找表单中name="TextBox1"的控件而不是ID="TextBox1"的控件

 

 

//------------------------------------------

asp.net控件<form >为什么不能post到其他页 ??

办法:默认都是到当前页,在action里加也是没用的,应该在form中加onsubmit="this.aciton='xxx.aspx'";注意取值的时候用Request

 

 

FORM里套FORM当然不行。又想用VS的服务器处理控件,又想要POST,这是违背微软的意愿的。

并且在不带runat=server的表单上不要使用<asp:imagebutton,只能用type=submit


<form runat=server action="xxx.aspx">

</form>


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap