您的位置:首页 > 其它

repeater控件 commandname、commandargument如何使用

2011-02-23 11:21 471 查看
GridView控件CommandArgument 绑定多个参数

前台绑定:

CommandArgument='<%# Eval("ReviewId")+","+Eval("isconfirm") %>'

后台获取:
string temp = e.CommandArgument.ToString();

string[] estr = e.CommandArgument.ToString().Split(',');

int reviewid = Convert.ToInt32(estr[0]);
string isconfirm = Convert.ToString(estr[1]);

前台页面你可以类似这样写:
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
<HeaderTemplate ><table><tr><td>编号</td><td>标题</td><td>发布时间</td><td>发布对象</td><td></td><td></td></tr><tr><td colspan="6"><hr /></td></tr></HeaderTemplate>
<ItemTemplate ><tr><td>
<asp:Label ID="id" runat="server" Text='<%#Eval ("ID") %>'></asp:Label></td><td><%#Eval("Title")%></td><td><%#Eval ("timer") %></td><td><%#Eval ("pto") %></td><td>
<asp:LinkButton ID="edit" CommandName ="edit"  CommandArgument='<%#Eval ("ID") %>' runat="server">编辑</asp:LinkButton></td><td>
<asp:LinkButton ID="del"   CommandName ="del"  CommandArgument='<%#Eval ("ID") %>' runat="server">删除</asp:LinkButton></td></tr></ItemTemplate>
<SeparatorTemplate ><tr><td colspan="4"><hr /></td></tr></SeparatorTemplate>
<FooterTemplate ></table></FooterTemplate>
</asp:Repeater>
后台直接调用:
如  int id = Convert.ToInt32(e.CommandArgument);
即利用linkbuttion的commandname或者commandargument属性动态某些字段,比如我们想要而又不想让用户看到的id,当前你也可以给它们赋值,作为服务器控件的区分,比如你使用多个linkbuttion,就可任意取它们的commandname来辨别是哪个命令源激发的事件
前台代码:

<table class="li1" cellspacing="1" cellpadding="2" border="0" style="width: 100%;" id="sort" oncontextmenu="return false; " onpaste=" return false;">
<thead>
<tr>
<td style="width: 3%; padding-left: 0px;" align="left"><input id="selectall" onclick="SelectAll(selectall)" type="checkbox" name="selectall" /></td>
<td align="left" style="width: 15%;"><asp:LinkButton ID="LinkButton1" runat="server" CommandName="custname" OnClick="field_sort_Click">dd</asp:LinkButton></td>
<td style="width: 10%;"><asp:LinkButton ID="LinkButton2" runat="server" CommandName="cuslib" OnClick="field_sort_Click">dd</asp:LinkButton></td>
<td style="width: 10%;"><asp:LinkButton ID="LinkButton3" runat="server" CommandName="intime" OnClick="field_sort_Click">dd</asp:LinkButton></td>
<td style="width: 9%;"><asp:LinkButton ID="LinkButton4" runat="server" CommandName="opename" OnClick="field_sort_Click">d</asp:LinkButton></td>
<td style="width: 9%;"><asp:LinkButton ID="LinkButton5" runat="server" CommandName="userid" OnClick="field_sort_Click">dd</asp:LinkButton></td>
<td style="width: 9%;"><asp:LinkButton ID="LinkButton6" runat="server" CommandName="tel1" OnClick="field_sort_Click">dd</asp:LinkButton></td>
<td style="width: 8%;">重要日期</td>
<td style="width: 7%;">联系人</td>
<td style="width: 20%;" align="center">操作</td>
</tr>
</thead>
<tbody>
<asp:Repeater ID="rpt_customerinfo" runat="server" OnItemCommand="rpt_customerinfo_ItemCommand"
OnItemDataBound="rpt_customerinfo_ItemDataBound">
<ItemTemplate>
<tr onmouseover=" this.className='on' " onmouseout="this.className='off'" style="cursor: hand">
<td style="padding-left: 0px;" align="left"><input onclick="SelectOne(this)" type="checkbox" name="sel_one" value='<%#DataBinder.Eval(Container.DataItem,"cusid")%>'></td>
<td align="left" title='<%#Eval("custname")%>'><a href="CustomerDetail.aspx?type=see1&cusid=<%#DataBinder.Eval(Container.DataItem, "cusid")%>"> <%#Eval("custname").ToString().Length > 8 ? Eval("custname").ToString().Substring(0, 8)+"..." : Eval("custname").ToString()%></a></td>
<td><%#Eval("的")%></td>
<td><%#Eval("的").ToString().Length > 10 ? Eval("intime").ToString().Substring(0, 10) : Eval("intime")%></td>
<td><%#Eval("啊")%></td>
<td><%#Eval("userndame")%></td>
<td><%#Eval("的")%></td>
<td><a href="../ImportantD33ate/方的.aspx?cusid=<%#Eval("cusid")%>">查看</a></td>
<td><a href="../Linkman/辅导费.aspx?type=linkman&&cusid=<%#Eval("cusid")%>">查看</a></td>
<td>
<asp:LinkButton ID="btn_look" CommandName="look" runat="server" CommandArgument='<%#Eval("cusid") %>'><font color="blue">查看</font></asp:LinkButton>|
<asp:LinkButton ID="btn_edit" CommandName="edit" runat="server" CommandArgument='<%#Eval("cusid") %>'><font color="blue">编辑</font></asp:LinkButton>|
<asp:LinkButton ID="btn_del" CommandName="del" runat="server" CommandArgument='<%#Eval("cusid") %>' OnClientClick="return confirm('确定要删除此客户吗?')"><font color="blue">删除</font></asp:LinkButton>|
<asp:LinkButton ID="btn_trans" CommandName="trans" runat="server" CommandArgument='<%#Eval("cusid") %>'><font color="blue">转为伙伴</font></asp:LinkButton>
<asp:HiddenField ID="hduserid" runat="server" Value='<%#Eval("userid")%>' />
</td>
</tr>
</ItemTemplate>
</asp:Repeater>

后台代码:

protected void rpt_customerinfo_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "edit")
{
Response.Redirect("customerEdit.aspx?type=edit&cusid=" + e.CommandArgument.ToString());
}
if (e.CommandName == "trans")
{
try
{
erp_crm.Model.crm_customerinfo custinfo = new erp_crm.Mo1del.crm_customerinfo();
int cusID = Convert.ToInt32(e.CommandArgument.ToString());
custinfo = cusinfo.GetModel(cusID);
custinfo.cuslib = "2";
cusinfo.Updatecust(custinfo);
BindDataPage();
}
catch (Exception ex)
{
}
}
if (e.CommandName == "look")
{
string where = " cusid in (" + Convert.ToInt32(e.CommandArgument.ToString()) + ")";
DataSet ds = cusinfo.GetList(where);
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
string cuslib = ds.Tables[0].Rows[0]["cuslib"] + "";
if (cuslib == "3")
{
Response.Redirect("../KeyCust/KeyCustDetail.aspx?cusid=" + e.CommandArgument.ToString());
}
else
{
Response.Redirect("CustomerDetail.aspx?type=see1&cusid=" + e.CommandArgument.ToString());
}
}
}
if (e.CommandName == "del")
{
//删除
int Flag = 0;
try
{
DataSet ds = linkinfo.GetList(" custid = " + e.CommandArgument.ToString());
if (ds.Tables[0].Rows.Count > 0)
{
ClientScript.RegisterStartupScript(GetType(), "ok", "setTimeout(\"alert('此客户有联系人,不能直接删除!')\",3);", true);
}
else
{
Flag = cusinfo.Del(Convert.ToInt32(e.CommandArgument.ToString()));
if (Flag > 0)
{
ClientScript.RegisterStartupScript(GetType(), "ok", "setTimeout(\"alert('删除成功!')\",3);", true);
}
else
{
ClientScript.RegisterStartupScript(GetType(), "ok", "setTimeout(\"alert('删除失败!')\",3);", true);
}
}

}
catch (Exception ex)
{
ClientScript.RegisterStartupScript(GetType(), "ok", "setTimeout(\"alert('删除失败!')\",3);", true);
}
BindDataPage();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: