今天在研究Post数据发送问题
要实现在 .html Post到.aspx页
我在.html页面写下这些测试代码
<form action="Default2.aspx" method="post">
<input id="TextBox1" type="text" />
<input id="Submit1" type="submit" value="submit" />
</form>
在Default2.aspx.cs页面中写
Response.Write(Request.Form["TextBox1"].ToString());
怎么也获取不了.html页面中的数据,
后来把.html改成.aspx的动态页,代码不变,测试发现还是不行,
后来在HTML控件中添加了runat="server",
<form action="Default2.aspx" method="post">
<input id="TextBox1" type="text" runat="server" />
<input id="Submit1" type="submit" value="submit" />
</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 runat=server action="xxx.aspx">
</form>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2007-05-15 attempt to write a readonly database错误的解决(C#,SQLite) ..