如何在服务器端获取客户端的数据

asp.net服务端代码如何获取客户端控件的值?  

2009-09-27 15:47:02|  分类: PC|举报|字号 订阅

 
 
 
 

在login.aspx页面中有一个INPUT客户端控件

         <input type="text" id="txtUserName" maxlength="20" />

      现在要在login.aspx.cs文件后台编码中获取这个txtuserName的value值。

     

有三种方法:   
一、把txtUserName作为服务器端控件运行

如: <input id="Text1" name="Text1" type="text" value="htmlstring" runat="server" />

客户端操作:document.getElementById ("Text1").value="aaa";

服务端操作:string str = Text1.Value;

 

二、在页面中放置一个隐藏域控件input(hidden)控件,作为服务器端运行,然后取或者设置txtuserName的Value...

?/P>

这两种方法可以在服务器端改变客户端控件的值。

?/P>

三 <input   type="text"   name="txtUserName"   maxlength="20"   />     //注意   :name  

   cs:  

    string   str   =   Request.Form["txtUserName"].Trim();

注:第三种办法在VS2005中可能这引起 请求验证 异常。

validateRequest=false 可以禁用请求验证   

解决方案又三种,

1.静止页面的validateRequest

<%@ Page validateRequest="false" %>

2.设置web.config

<configuration>

<system.web>

    <pages validateRequest="false" />

</system.web>

</configuration>

3.我个人认为是最好的,就是采用Server.HtmlEncode这个方法

我改动如下

string urlPage = "";

        urlPage = UrlText.Text;

        WebRequest request = WebRequest.Create(urlPage);

        WebResponse response = request.GetResponse();

        Stream resStream = response.GetResponseStream();

        StreamReader sr = new StreamReader(resStream, System.Text.Encoding.Default);

        ContentHtml.Text = Server.HtmlEncode(sr.ReadToEnd());

        resStream.Close();

        sr.Close();

来自:http://lulijuan505.blog.163.com/blog/static/3083691120098273472316/
原文地址:https://www.cnblogs.com/zhangjinpeng/p/4074387.html