前台页面是这样
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <link href="Content/bootstrap.min.css" rel="stylesheet" /> <script src="Scripts/jquery-1.10.2.min.js"></script> <script src="Scripts/bootstrap.min.js"></script> </head> <body> <form name="form1" id="form1" action="About.aspx?action='test'" method="post"> <input type="text" class="text-center" name="userName" /> <input type="file" name="file1" /> <button type="submit" class="btn btn-primary">upload</button> </form> </body> </html>
后台代码接收
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 8 namespace WebApplication1 9 { 10 public partial class About : Page 11 { 12 protected void Page_Load(object sender, EventArgs e) 13 { 14 15 string action = Request["action"]; 16 17 if (!string.IsNullOrEmpty(action)) 18 { 19 var form = HttpContext.Current.Request.Form; 20 21 22 this.TextBox1.Text = Request.Form["userName"]; 23 } 24 25 } 26 } 27 }
一直取不到值
给form表单 打上 runat="server"试试
不是WebForm是静态HTML页面
@Asky Sun: 额 那就把你提交submit代码 贴出来看看
@Richard__Lee: 我直接用submit 按钮提交的 啊 我问题里面有
调试下。你的username 赋值了吗
你这种表单的写法,有两部分,一是GET字符串,即?action='test',第二是POST数据块,如果在目标页没有得到POST数据块,那么,你把GET串去掉,而试试,看是否可以
a.html页面的值传递给a.aspx,你后台获取值用的是a.aspx中的TextBox1.Text
this.TextBox1.Text = Request.Form["userName"];
值百分百可以传递过来,但是你看到的a.aspx中你跳转了吗? 还是单独打开页面查看值?
你自己调试下,我不晓得你要达成什么样的目的。
我试过了 Ashx 是可以的
@Asky Sun: 这个值没有到达,那就不是这两个页面的问题,你看下页面生命周期内有没有其它进行了拦截和处理了,比如url router,Handler Modle Application_begin你都看一下。