您的位置:首页 > Web前端 > HTML

表单提交数据的方式 怎么在服务器获取 服务器控件 html服务器控件 提交服务器之前的验证 前台网页编写c#代码

2015-09-12 17:40 1031 查看

1.页面现在向服务器提交数据。
通过表单的发送数据。注意,每个页面均要求有表单。
创建一个aspx页面,那么会有一个默认的表单。
比如: <form method="post" action="Register.aspx" id="form1">
表单提交数据的两种方式:
1)post方式
优点: 由数据包的形式提交给服务器,对于客户端是不可见的。
安全性比较高,传输大小是没有限制的。
缺点:传输速度相对于get方式要慢一点。
获取客户端的数据的方法:string strUserName = Request.Form["username"];
2)get方式
是通过url的地址来把数据传递给服务器的。
优点:传输速度比较快。
缺点:安全性较低,传输大小会有限制。
获取客户端的数据:Request.QueryString["username"];
那在服务器端怎么来获取呢?
protected void Page_Load(object sender,EventArge e)
{
if(this.IsPostBack)//表示回发的页面
{
string strUserName = Request.Form["username"].ToString; //post方式获取
Response.Write("客户端发来的数据是:"+ strUserName);
}
}

protected void Page_Load(object sender,EventArge e)
{
if(this.IsPostBack)//表示回发的页面
{
string strUserName = Request.QueryString["username"].ToString; //get方式获取
Response.Write("客户端发来的数据是:"+ strUserName);
}
}
protected void Button_Click(object sender,EventArge e)
{
if(this.IsPostBack)//表示回发的页面
{
string strUserName = Request.QueryString["username"].ToString; //get方式获取
Response.Write("客户端发来的数据是:"+ strUserName);
}
}//这个Button——Click比上面的Page_Load先执行。中间这段代码实现的和上面中间的一样的
2.html服务器控件
在原有的html元素中加上runat="server",也可以在后台程序中直接访问。
在后台程序中是通过元素的id来获取的。
比如前台:<input  id="email" name="email" runat="server" type="text" class="opt_input" />
后台程序访问: this.email.Value;
3.服务器控件,运行在服务器端,扩展了相应的事件和属性。可以在后台程序中直接访问。
<asp:Button ID="Button" runat="server" Text="确定了,马上提交" CssClass="opt_sub" onclick="Button_CLick" />
服务器控件:封装了很多事件的。
4.数据在提交给服务器之前,都有验证。
阻止表单提交的方法,在方法执行的时候返回false。
<script language="javascript" type="text/javascript">
function checkinfo(){
var txtUserValue = document.getElementById("txtUserName").value;
if(txtUserValue ==""){
alert("数据为空");
return false;
}
}
<asp:Button ID="Button" OnClientClick="return checkinfo();" runat="server" Text="确定了,马上提交" CssClass="opt_sub" onclick="Button_CLick" />
5.在前台网页中如何编写C#代码
比如添加一个年龄的下拉列表框:
(1)这是直接写在前台
<%
for(int i =1; i <=100;i++)
{
Response.Write("<option value=\""+i+"\">"+i"</option>");
}
%>
<%= %> 就相当于是 <% Response.Write()  %>  //打印输出的意思。

(2)这是写在后台的,但是前台需要拉一个下拉列表框
protected void Page_Load(object sender,EventArge e)
{
if(!this.IsPostBack)
{
for(int i = 1; i<=100; i++)
{
this.DropDownList.Items.Add(new ListItem(i.ToString(),i.ToString()));
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: