当前位置:编程学习 > C#/ASP.NET >>

江湖救济,发分拉

Response.Redirect("seachBan.aspx?id=3&seach="+this.TextBox1.Text);
为什么我这样传送seach为空 --------------------编程问答-------------------- 外行话,不要笑话我:)

是不是要用单引号“'”括起来才行
--------------------编程问答-------------------- 需要进行urlencode --------------------编程问答-------------------- 不应该  按理说这绝对正确的阿 --------------------编程问答-------------------- 自动提交, --------------------编程问答-------------------- 支持 --------------------编程问答-------------------- 按理说没错阿
--------------------编程问答-------------------- 首先 确定你的 this.TextBox1.Text 这个值是被取到了的 --------------------编程问答-------------------- 去掉控件的AutoPostBack!
否则 先执行load方法,这时this.TextBox1.Text=“”了。
所以你提交后是“”。 --------------------编程问答-------------------- 我说的只是一种情况,错了么怪。:) --------------------编程问答-------------------- 不应该呀,这样子似乎没有写错 --------------------编程问答-------------------- 这样写肯定无错 跟踪一下 this.TextBox1.Text 的值看看。 --------------------编程问答-------------------- 或许 this.TextBox1.Text 本身就是"空"
你是不是在 void Page_Load() 里在没有 if (!IsPostBack) 限制的情况下
 对 this.TextBox1 做了"手脚" --------------------编程问答-------------------- 取textbox1.text的时候先alert一下 它到底有没有值
response.Write("<script>alert('"+ this.Textbox1.text +"')</script>")
或者断点调试一下,
然后在Response.Redirect("seachBan.aspx?id=3&seach="+ server.UrlEndcode(this.TextBox1.Text));试试 --------------------编程问答-------------------- 不是字符超长了? --------------------编程问答-------------------- 我试过了,用
Response.Redirect("seachBan.aspx?id=3&seach="+this.TextBox1.Text);
后可以取得到值,我是如下取的:

Response.Redirect("seachBan.aspx?id=3&seach="+this.TextBox1.Text);
protected void Page_Load(object sender, EventArgs e)
{
for (int i = 0; i < this.Request.QueryString.Count; i++)
{
string s = this.Request.QueryString[i];
}
}
s的值以次是
3
abcd    //我文本框里输入的字符串就是abcd
--------------------编程问答-------------------- 看詳細情況而言,不發生意應該是沒錯的 --------------------编程问答-------------------- 如果加上对this.IsPostBack的判断则是如下的样式:

protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
for (int i = 0; i < this.Request.QueryString.Count; i++)
{
string s = this.Request.QueryString[i];
}
string seach = this.Request.QueryString["seach"];
}
} --------------------编程问答-------------------- 是不是因为有特殊的字符在文本框里呢?
那就加上Server.HtmlEncode编码及Server.HtmlDecode解码:

protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
string seach = Server.HtmlDecode(this.Request.QueryString["seach"]);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("login.aspx?id=3&seach=" + Server.HtmlEncode(this.TextBox1.Text));
} --------------------编程问答-------------------- 把this去掉试试 --------------------编程问答-------------------- this.TextBox1.Text 是否为只读?
偶以前也遇到过。 --------------------编程问答-------------------- 先把报的什么错误拿出来看看 --------------------编程问答-------------------- 试试这个Response.Redirect("seachBan.aspx?id=3&seach='"+this.TextBox1.Text.ToString()+"'");
--------------------编程问答-------------------- 把 Web.config 里面的编码设置为gb2312 --------------------编程问答-------------------- up --------------------编程问答-------------------- up --------------------编程问答-------------------- jf
--------------------编程问答-------------------- (: --------------------编程问答-------------------- up --------------------编程问答-------------------- 支持
--------------------编程问答-------------------- 分发的多就是不一样,哈哈,我去试试 --------------------编程问答-------------------- 这样写没错啊...
错误肯定不是出在这行代码上,
LZ还是检查检查吧 --------------------编程问答-------------------- 不会是不支持中文输入,你改用字母应该好用! --------------------编程问答--------------------

会不会是 Form 的 method=post

--------------------编程问答-------------------- 写法没错,
1.调试看一下是不是TextBox1本来就是空的
2.如果TextBox1不是空的就看看if (!this.IsPostBack)有没加

--------------------编程问答-------------------- up
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,