使用 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的主要内容,如果未能解决你的问题,请参考以下文章
使用 Mobile Safari“表单助手”在选择元素上未触发更改事件