【问题标题】:Itemcommand not firing on button click event in a datalist using c#使用 c# 在数据列表中的按钮单击事件上未触发 Itemcommand
【发布时间】:2014-11-24 14:44:29
【问题描述】:

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

我的 .cs 文件

protected void Page_Load(object sender, EventArgs e) { 如果(!IsPostBack) { 报价单绑定(); } }

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();

}

如果我单击按钮而不是触发项目命令事件项目数据绑定事件正在工作 protected void offerlistnew_ItemCommand1(对象源,DataListCommandEventArgs e) { if (e.CommandName == "订阅") { int ofid = Convert.ToInt32(e.CommandArgument); Response.Redirect("http://ecom.bom.tv/default.aspx?Offer=" + ofid + ""); } }

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    请使用超链接代替按钮。如果您使用 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>
    

    如果有任何问题,请告诉我。

    【讨论】:

      【解决方案2】:

      在链接按钮中使用 e.commandname

       if (e.CommandName == "sel")
              {
                  //Code conn.Open();
              int lblintid = Convert.ToInt32(e.CommandArgument.ToString());
              string cmd2 = "UPDATE productsTs set recurrent=recurrent+30,biduser='" + HiddenField2.Value + "' where ID = " + e.CommandArgument + "";
              SqlCommand x2 = new SqlCommand(cmd2, conn);
              x2.ExecuteNonQuery();
      
              conn.Close();
              }else if(e.CommandName == "min")
          {
              //Code conn.Open();
              int lblintid = Convert.ToInt32(e.CommandArgument.ToString());
              string cmd2 = "UPDATE productsTs set recurrent=recurrent-30,biduser='" + HiddenField2.Value + "' where ID = " + e.CommandArgument + "";
              SqlCommand x2 = new SqlCommand(cmd2, conn);
              x2.ExecuteNonQuery();
      
              conn.Close();
          }
      

      【讨论】:

        猜你喜欢
        • 2013-02-05
        • 1970-01-01
        • 2013-05-11
        • 2014-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多