- html知识,Request.Form 接收的是Name值,而非ID值
- 若是用aspx页面取值,表单中的runat="server"要去掉。
- asp.net知识,asp.net的控件的ID和Name值是一样第,但是其在客户端表现是control.clientID而非 control.ID
- asp.net本身也是可以跨页提交滴,如果是使用自己带的跨页提交就不存在上述问题,不过asp.net自己带的跨页提交有另外的接 收方式
实例
<!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>
<title>无标题页</title>
</head>
<body>
<form id="formPost" action="Default.aspx" method="post">
<div>
<input name="txtPostValue" type="text" />
<input type="submit" /><br />
<br />
<br />
<br />
<input name="filePic" type="file" /></div>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div></div>
</form>
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Diagnostics;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string str = Request.Form["txtPostValue"].ToString();
string file = Request.Form["filePic"].ToString();
Response.Write("文本框的值为:" + str + "<br/>");
Response.Write("上传文件的路径为:" + file);
}
}
}