<%@ WebHandler Language="C#" Class="LoginValidate" %>using System; using System.Web; using WebBLL.hyjf; using System.Text.RegularExpressions;public class LoginValidate : IHttpHandler {
hyjfBLL userdal = new hyjfBLL (); public void ProcessRequest (HttpContext context) {
protected string cutstr10(string strChar)
{
//取得自定义长度的字符串
if (Int16.Parse(strChar) >= 1)
{ return "Company/contact.aspx"; }
else if (this.Request.Cookies["wj_User"] != null)
{ return "Company/contact.aspx"; }
else
{ return "loginagain.aspx"; } }
也可以通过一个LoginValidate.ashx的文件,不过这个方法比较复杂,我就会这两种了,不知还有没有别的,高手指点啊
string data1 = TextBox1.text; //页面上的控件
string data2 = TextBox2.text; //页面上的控件
这样去取的值了 得接受传递过来的参数吗?
不但需要ajax还需要webservice吗?
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
} }
//处理方法
function CheckUserName(txt,divid)
{
var username = document.getElementById("txtusername").value;
createXMLHttpRequest();
var url = "LoginValidate.ashx?divusername="+document.getElementById("txtusername").value;
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=ShowResult;
xmlHttp.send(null);
}
在后台中这样是可以的:
string data1 = TextBox1.Text; //页面上的控件
string data2 = TextBox2.Text; //页面上的控件只要在后台的 .cs 文件中声明:
public TextBox TextBox1, TextBox2;
但前台 JavaScript 不能像你那样直接调用后台的。
ShowResult
里边的内容贴出来给我看看 谢谢
里边的内容贴出来给我看看 谢谢
function ShowResult()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
document.getElementById("divusername").innerHTML=xmlHttp.responseText;
}
}
不过我的作用和你的好像不太一样,不过方法应该差不多 }
using System.Web;
using WebBLL.hyjf;
using System.Text.RegularExpressions;public class LoginValidate : IHttpHandler {
hyjfBLL userdal = new hyjfBLL (); public void ProcessRequest (HttpContext context)
{
string username=context.Request.QueryString["divusername"].ToString(); username = context.Request.QueryString["divusername"].ToString();
checkusername(context, username);
这是一个函数,处理前台数据的
1添加引用 AjaxPro
2配置Web.config
<system.web>
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
</system.web>
3修改服务端方法,使用[AjaxPro.AjaxMethos]进行申明
4在相应的CS文件中的Page_Load方法中注册客户端JS要调用Ajax方法
AjaxPro.Utility.RegisterTypeForAjax(typeof(类名));
不过看起来,似乎你那个字段并不重要,只是控制下某个div的现实和隐藏,如果不设计到权限等问题,
建议用个hiddenfield什么的控件,先在页面接受下数据。然后再用js去读取这个控件的信息。
string data2 = TextBox2.text; //页面上的控件
string data3 = returnResult(data1, data2);//去进行一些复杂的逻辑计算的方法
放到这个button的click事件中,并不用返回值 而是把那个返回值写到一个隐藏的界面控件中(id为 hdn),你再用
document.getElementById("btn").click();触发这个 ,再用你的
strvalue =document.getElementById("hdn").value
或_doPostBack('','');
或ajax异步调用