在button事件中用如Response.Redirect("xx.aspx?id="参数"&name="参数") 传递参数;
在xx.aspx页面用如 string str=request["参数"]; 接收传过来的参数因为你页面中有多个button,那么就有多个button事件,相信每个button传递的参数肯定是不相同的????
在xx.aspx页面用如 string str=request["参数"]; 接收传过来的参数因为你页面中有多个button,那么就有多个button事件,相信每个button传递的参数肯定是不相同的????
需要尽快适应 asp.net 的新模式1。
默认 asp.net 中 form runat=server 使用 post 提交, action = 本页2。
看如提交,以及跳转页面// .aspx
<form runat=server>
<asp:hiddenfield id=fld1 runat=server value="hi" /> <!-- 2.0 才支持 -->
<input type=hidden id=fld2 runat=server value="hello" />
<asp:textbox id=txt runat=server text=ok />
<asp:button id=btn onclic=btn_Click runat=server />
..........// aspx.cs
protected void btn_Click(object s, EventArgs e)
{
// 获取只
string str1 = fld1.Value;
string str2 = fld2.Value;
string str3 = text.Text;
// ... // 处理这些值
// ..... // 跳转页面
string url = "nextpage.aspx?aid=a&bid=b";
Response.Redirect(url);
}Hope helpful
"既然你的 action 目标是对方的,处理完之后,还是能自己控制吗?"
----------------对, action是对方的, 我们只需要给action的地址传几个"参数=值" 就OK了, 至于它处理完之后做什么咱们就不用管了只是目前它不接受 xxx.asp?参数1=值1&参数1=值2 这样的形式他要求用post方式, 也就是在地址中是看不到参数和值的
并非这个原因!
runat=server 的控件呈现到broswer 一样是原始的 html 元素,
post 回去后 asp.net 内部还是使用 Request.Form["somename"] 的方式获取表单值,然后载入到控件对应的属性上而已,只是,你要注意如果提交给其他页面接受者,要注意 webcontrol.ClientID 对应生成的客户端 name 属性,而这个 ClientID 是只读的,因为有一个控件层次的关系,由asp.net 内部自动维护,以保证 name 具有唯一性看来看去,还是不明白,直接使用不带 runat=server 的form,就像 asp 那种不能满足你的要求吗?