我的网站没有运行我的中继器运行的 ItemCommand 后面的代码时遇到问题。
以下是我在 C# 代码中的一些片段:
protected void Page_Load()
{
if (!Page.IsPostBack)
{
ddlGender.Items.Insert(0, new ListItem("-", "%"));
ddlMerk.Items.Insert(0, new ListItem("-", "%"));
ddlType.Items.Insert(0, new ListItem("-", "%"));
}
if (Page.IsPostBack)
{
Response.Redirect(String.Format("Catalogus.aspx?gender={0}&merkid={1}&type={2}", ddlGender.SelectedValue, ddlMerk.SelectedValue, ddlType.SelectedValue));
}
}
protected void rCatalogus_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "voegToe")
{
HttpCookie winkelmandje = new HttpCookie("Winkelmandje");
string product = (string)e.CommandArgument;
winkelmandje[product] = "Test";
winkelmandje.Expires = DateTime.Now.AddDays(2);
Response.Cookies.Add(winkelmandje);
Label1.Text = "HALSKFDHSALKFDJAS";
}
}
值得注意的是,我已将三个 DropDownLists 设置为 AutoPostBack,因此它们会触发填充 QueryStrings 的 IsPostBack 事件。
现在我注意到,当我注释掉“if (Page.IsPostBack)”部分时,事件触发得很好。所以我认为 Response.Redirect 正在阻止事件触发,对吗?我想找到一种方法来触发事件并让带有 Response.Redirect 的 PostBack 也发生,但我还没有找到方法。
我真诚地希望你们中的任何人都可以帮助我,我将不胜感激。
谢谢你。