我做了两个方法,都是通过javascript实现页面跳转,但通过调用后台方法(方法1)无论如何都会跳转(请问怎么解决?),方法二没什么问题,只是和方法一做个对比。方法一:
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(land));
Ajax.Utility.RegisterTypeForAjax(typeof(land));
}
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public bool hh()
{
string s = uid.Value.ToString();
if (s == "1")
{
return true;
}
else
{
return false;
}
}前台代码:
<input type="button" value="登录" onclick="chk()" />
<input type="text" id="uid" name="uid" runat="server" /> function chk() {
var s = "<%=hh() %>";
alert(s.toString()); //这只是我用来检测传值是否有误
if (s) {
window.location.href = 'admins.aspx '
}
else {
alert("error")
}
}
方法二:
<input type="text" id="uid" name="uid" runat="server" />
<input type="button" value="登录" onclick="chk1()" /> function chk1() {
var txt1 = document.form1.uid;
var s = txt1.Value;
if(s=="1") {
window.location.href = 'admins.aspx '
}
else {
alert("error")
}
}
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(land));
Ajax.Utility.RegisterTypeForAjax(typeof(land));
}
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public bool hh()
{
string s = uid.Value.ToString();
if (s == "1")
{
return true;
}
else
{
return false;
}
}前台代码:
<input type="button" value="登录" onclick="chk()" />
<input type="text" id="uid" name="uid" runat="server" /> function chk() {
var s = "<%=hh() %>";
alert(s.toString()); //这只是我用来检测传值是否有误
if (s) {
window.location.href = 'admins.aspx '
}
else {
alert("error")
}
}
方法二:
<input type="text" id="uid" name="uid" runat="server" />
<input type="button" value="登录" onclick="chk1()" /> function chk1() {
var txt1 = document.form1.uid;
var s = txt1.Value;
if(s=="1") {
window.location.href = 'admins.aspx '
}
else {
alert("error")
}
}
解决方案 »
- 在asp.net页面怎么直接调用类呢?
- sqlhelper 和 .net缓存 的融合
- ASP.NET网站邮件功能问题???
- 网页中的数据加载过慢解决办法
- 在本地计算机无法启动world wide web publishing service 服务,错误126:找不到指定模块
- 求助高手:用Response.AddHeader("Content-Type","message/rfc822")只能在服务器打开email,在客户端却不行,为什莫?
- DataSet中用RowFilter来模糊查询
- 如何在DNS轮询的服务器上实现会话共享?
- C#中(object sender,EventArgs e)和(Object sender,EventArgs E)有何区别?
- 怎么学PLC(斑竹勿移,马上结贴)
- Vs2012 的图标真丑,能换吗?
- 线选题系统中的比例怎么写代码?
s 为字符型
改成(if s ="true")试试
继续等大神的来临。……。…。……
第二个,<input type="text" id="uid" name="uid" runat="server" />的值会影响到js的执行结果
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(land));
Ajax.Utility.RegisterTypeForAjax(typeof(land));
}
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public bool hh()
{
string s = uid.Value.ToString();
if (s.Equals("1"))
{
Response.Write("<script language='javascript'>window.location.href='admins.aspx';</script>");
}
else
{
Response.Write("<script language='javascript'>alert('error');</script>");
}
}
function chk() {
var s = "<%=hh() %>";
var a = 0;
if(s='true'){
a=1;
}
if (a) {
window.location.href = 'www.baidu.com'
}else{
alert("error")
}
}</script>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(land));
Ajax.Utility.RegisterTypeForAjax(typeof(land));
}
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public bool hh()
{
string s = uid.Value.ToString();
if (s == "1")
{
return true;//绑定到html里面直接就是true。注意:你在绑定代码外面加了双引号
}
else
{
return false;//绑定到html里面直接就是false。注意:你在绑定代码外面加了双引号
}
}前台代码:
<input type="button" value="登录" onclick="chk()" />
<input type="text" id="uid" name="uid" runat="server" /> function chk() {
var s = "<%=hh() %>";//你这里加了双引号。结果是字符串:var s = "true";或者"false"
alert(s.toString()); //这只是我用来检测传值是否有误
if (s) {//javascript认为任何字符串都是true
window.location.href = 'admins.aspx '
}
else {
alert("error")
}
}
Ajax是特殊的,去掉它试一下?
var不爽,改一下如何?
检测传值用的什么,那么if()中就用什么。---
alert(s.toString()); //这只是我用来检测传值是否有误
的结果看样子是符合预期了。
虽然你这样的写法我没用过,但是我觉得AjaxPro调用取得返回值要加.value
var s=land.hh().value;//land是你的page的类名
.
.
.