Itemcommand没有使用c#在datalist中触发按钮单击事件

时间:2014-09-30 04:41:50

标签: c# asp.net

这是我的offer.aspx继承自masterpage '/>

我的.cs文件

protected void Page_Load(object sender,EventArgs e)     {         if(!IsPostBack)         {            offerlistbind();         }     }

public void offerlistbind()
{
    db1.strCommand = "  select Offer.OfferID, Offer.OfferName,Offer.Amount,Offer.FromDate,Offer.ToDate,Offer.Description,bm_package.PackageName,bm_country.Country from Offer inner join  bm_package on Offer.PackageID=bm_package.PackageID inner join bm_country on Offer.CountryID=bm_country.CountryID";
    offerlistnew.DataSource = db1.DataSet();
    offerlistnew.DataBind();

}

如果我单击按钮而不是触发项目命令事件项dataBound事件正在工作  protected void offerlistnew_ItemCommand1(object source,DataListCommandEventArgs e)     {         if(e.CommandName ==“subscribe”)         {             int ofid = Convert.ToInt32(e.CommandArgument);             Response.Redirect(“http://ecom.bom.tv/default.aspx?Offer=”+ ofid +“”);         }     }

1 个答案:

答案 0 :(得分:0)

请使用超链接代替按钮。如果您使用asp按钮,那么首先它会回发,然后它会重定向到另一个页面。但是使用超链接可以直接重定向到另一个页面。您还可以使用此功能来提高性能。

<asp:HyperLink ID="HyperLink1" runat="server" 
NavigateUrl='http://ecom.bom.tv/default.aspx?Offer=<%# Eval("OfferID") %>'
Text="Subscribe"></asp:HyperLink>

<asp:HyperLink ID="HyperLink1" runat="server" 
NavigateUrl='<%# "http://ecom.bom.tv/default.aspx?Offer=" + Eval("OfferID") %>'
Text="Subscribe"></asp:HyperLink>

如果有任何疑虑,请告诉我。