使用 c# 在数据列表中的按钮单击事件上未触发 Itemcommand

Posted

技术标签:

【中文标题】使用 c# 在数据列表中的按钮单击事件上未触发 Itemcommand【英文标题】:Itemcommand not firing on button click event in a datalist using c# 【发布时间】: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 + "");

【问题讨论】:

【参考方案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();
    

【讨论】:

以上是关于使用 c# 在数据列表中的按钮单击事件上未触发 Itemcommand的主要内容,如果未能解决你的问题,请参考以下文章

c#单击关闭按钮事件

使用 Mobile Safari“表单助手”在选择元素上未触发更改事件

C# 点击当前页面按钮触发另一个窗口的事件

c#自动生成的控件怎么添加双击事件,是双击事件不是单击   i++;     Button b =

在可访问性中为 ionic 中的切换按钮启用点击或单击事件

c#中如何写单击一个按钮执行另一个按钮的事件!求正确答案!