Asp.net ASP:Net链接按钮控件回发问题

Asp.net ASP:Net链接按钮控件回发问题,asp.net,asp.net-controls,Asp.net,Asp.net Controls,在我的profile.aspx页面中有一个asp.net linkButton(或imageButton)控件。我正在检查下面页面中代码隐藏中的Request.Querystring(“id”) http://localhost:42932/profile.aspx?id=1 当我第一次加载配置文件页面时,它不会被发回。没关系!。当我使用带有addAddress的imageButton控件转到另一个用户配置文件(同一页面,只是查询字符串不同) http://localhost:42932/pro

在我的profile.aspx页面中有一个asp.net linkButton(或imageButton)控件。我正在检查下面页面中代码隐藏中的Request.Querystring(“id”)

http://localhost:42932/profile.aspx?id=1

当我第一次加载配置文件页面时,它不会被发回。没关系!。当我使用带有addAddress的imageButton控件转到另一个用户配置文件(同一页面,只是查询字符串不同)

http://localhost:42932/profile.aspx?id=2

它被寄回来了。我不想把它寄回去。但是如果我使用一个常规的html输入元素,比如

a href=“http://localhost:42932/profile.aspx?id=2”

它没有被发回。因此,我希望图像按钮的行为类似于html输入元素

这是我的按钮

ASPX:

编辑:


此控件位于页面加载中。应该如此!回复我上面提到的状态。因为当Session[“order”]=0时,所有其他函数都在工作,所以请使用
OnCLientClick
而不是
OnClick
,以便只运行客户端代码。然后,请指定
返回false

i、 e



但是,如果可以使用正常的
而不是指定
PostBackUrl来完成此操作,那么为什么要使用服务器控件呢?我建议在按钮单击事件处理程序中使用
Response.Redirect()

public void imgProfile_Click(object sender, eventArgs e){
   Response.Redirect("profile.aspx?id=" + Session["userID"]);
}

或者,在
页面加载期间,只需使用
超链接
控件并设置
NavigateUrl
属性:

<asp:HyperLink ID="imgProfile" runat="server"><img src="images/site/profile1.png" /></asp:Hyperlink>

imgProfile.NavigateUrl = "profile.aspx?id=" + Session["userID"];

imgProfile.NavigateUrl=“profile.aspx?id=“+Session[“userID]”;

这不是我要问的。我还希望执行服务器端代码。但不是回发!回发将导致PageLoad()执行,因此请将所有不希望在其中运行的代码放入一个!IsPostBack,或者专门用一些可以跳过你不想运行的代码的东西来标记它。我编辑了我的帖子,请检查一下。是的,如果不是pageload.Response.Redirect,则我的所有功能都正常工作。重定向也会导致帖子返回到同一页面。我应该在项目中使用imageButton:)
 if (!IsPostBack)
    {
        Session["order"] = 0;
    }
<asp:ImageButton ID="imgProfile" ImageUrl="images/site/profile1.png" runat="server" OnClientClick="return false;" />
public void imgProfile_Click(object sender, eventArgs e){
   Response.Redirect("profile.aspx?id=" + Session["userID"]);
}
<asp:HyperLink ID="imgProfile" runat="server"><img src="images/site/profile1.png" /></asp:Hyperlink>

imgProfile.NavigateUrl = "profile.aspx?id=" + Session["userID"];