悬赏分:10 浏览:761 次
<asp:Button ID="BTN_Exchange" runat="server" Text="兑换" CommandArgument='<%#Eval("GiftId")%>' OnClientClick="return confirm('确认使用<%#Eval("Score")%>兑换该礼品吗?');" OnCommand="BTN_Exchange_Command"/>
-------------------
OnClientClick="return confirm('确认使用<%#Eval("Score")%>兑换该礼品吗?');"
这里该怎么写?
|
OnClientClick="return confirm('确认使用"<%#Eval('Score')%>"兑换该礼品吗?');"
??好久不用asp.net了,哎 不能这样使用,试试这个: OnClientClick='<%# "return confirm('" + Eval("Score") + "兑换该礼品吗?');"%>' 应该是写到一个js函数里面,然后在button的OnClientClick俩面调用函数吧 fuction buyConfirm(){ return confirm("<%# Eval("Score")%>兑换该礼品吗?"); } 应该是这样吧 |
|
8个月前 Shing Ye : 问题是"<%# Eval("Score")%>兑换该礼品吗?"这里面的是按原样输出的.. |
|
8个月前 Klesh Wong : aspx: <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server"></asp:Label><br /> <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand"> <ItemTemplate> <div class="item"> Name : <%# Eval("Name")%> <asp:Button ID="BTN_Exchange" runat="server" Text="兑换" CommandArgument='<%#Eval("GiftId")%>' OnClientClick='<%# "return confirm(\"" + Eval("Score") + "兑换该礼品吗?\");"%>' OnCommand="BTN_Exchange_Command" /> </div> </ItemTemplate> </asp:Repeater> </div> </form> aspx.cs: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) BindData(); } private void BindData() { IList<Gift> gifts = new List<Gift>(); for (int i = 0; i < 10; i++) { Gift gift = new Gift(); gift.GiftId = i; gift.Name = "Gift #" + i.ToString(); gift.Score = i; gifts.Add(gift); } Repeater1.DataSource = gifts; Repeater1.DataBind(); } protected void BTN_Exchange_Command(object sender, CommandEventArgs e) { Label1.Text = "阅 换 : " + e.CommandArgument.ToString(); } |
|
8个月前 Klesh Wong : 订阅repeater的ItemDataBound事件与直接Eval是不会有差别的. 而且订阅事件未必比Eval慢, 因为 Eval 是基于反射了. |
|
8个月前 Hunts.C : 还可以这样 OnClientClick='<%# String.Format("return confirm(\"确认使用{0}兑换该礼品吗?\")", Eval("Score")) %>' 或者这样 OnClientClick='<%# Eval("ID","return confirm(\"确认使用{0}兑换该礼品吗?\")") %>' |