在datalist中添加checkbox选项,如何选择checkbox时激发事件,并获取主键取,谢谢!
解决方案 »
- 已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。
- ~~~~~~~~~~~~~~~~~~~~简单的问题,提个意见~~~~~~~~~~~~~~~~~~~谢谢
- 急 数据库Image类型显示到页面问题
- 【求助】关于正则表达式!
- ASP.NET visual studio 2008 图片和超链接重叠的效果是怎么做的。
- 如何更改一個頁面的焦點問題...................????????
- 有大神在吗,求帮忙
- 如何在asp.net后台代码中获取前台div,其中要获取div的id是在后台通过变量拼接而成的,前台div已经添加runat="server"
- 为什么我继承自BaseDataList的服务器控件在设计时显示的时候提示“无法创建抽象类”?
- 初级XML的问题
- 菜鸟提问,望高手给予帮助,跪谢!
- 关于在datagrid里,如何控制显示字段内容得字符数
<asp:CheckBox Runat="server" OnCheckedChanged='void(<%#Container.ItemIndex%>)"></asp:CheckBox>
如果在客户端执行的话
自己在后台为CheckBox添加属性attribute.add("onclick","function()")
{ }
那我在cs文件中这代码要怎么写呢?
protected void ckball_CheckedChanged(object sender, EventArgs e)
{
//****ckball 代码
}//****在DGRid_ItemDataBound事件调用事件
this.ckball_CheckedChanged += new EventHandler(ckball_CheckedChanged);
<input id="ckball" runat="server" type="checked" value='<%#DataBinder.Eval(Container.DataItem,"ID")%>' onclick="javascript:SelectValue(this);">
//****用JS获取被选种项的值
function SelectValue(objckb)
{
if(objckb)
{
if(frmlist.txtselectvalue.value=="")
{
frmlist.txtselectvalue.value=objckb.value;
}
else
{
//****获取编号用","分开
frmlist.txtselectvalue.value+=","+ckbal.value;
}
}
else
{
//****如果取消选择,则清空以前被选择的值
if(frmlist.txtselectvalue.value.indexOf(",")>0)
{
frmlist.txtselectvalue.value=frmlist.txtselectvalue.value.replace(objckbal.value+",","");
} frmlist.txtselectvaue.value=frmlist.txtselectvalue.value.replace(objckball.value,"");
}}
protected void check_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i < DataList1.Items.Count; i++)
{
string ischek = ((CheckBox)DataList1.Items[i].FindControl("CheckBox")).Checked.ToString();
if (ischek == "true")
{
int pid = DataList1.Items[i].ItemIndex;
Response.Redirect("product.aspx?pid=" + pid);
}
} }
<ItemTemplate>
<table width="100%" class="font1" cellspacing="3" cellpadding="0">
<tr>
<td rowspan="6"><div align="center"><asp:imagebutton ID="photo" ImageUrl='<%#Eval("p_simg")%>' runat="server" CommandName="image" BorderWidth="1" /></div></td>
<td colspan="2"><asp:Label ID="Label" runat="server" />
<asp:Label ID="Label2" runat="server" Text='<%#Eval("p_name")%>' ForeColor="#333333" />
<hr></td>
</tr>
<tr>
<td> <div align="right">SIZE: </div></td>
<td><div align="left"><asp:TextBox ID="size" runat="server" ReadOnly="true" Text='<%#Eval("p_size") %>' CssClass="txtname" /></div></td>
</tr>
<tr>
<td> <div align="right">MEAS: </div></td>
<td><div align="left"><asp:TextBox ID="meas" runat="server" ReadOnly="true" Text='<%#Eval("p_emas") %>' CssClass="txtname" /></div></td>
</tr>
<tr>
<td> <div align="right">G/NW: </div></td>
<td><div align="left"><asp:TextBox ID="gnw" runat="server" ReadOnly="true" Text='<%#Eval("p_gnw") %>' CssClass="txtname" /></div></td>
</tr>
<tr>
<td> <div align="right">QTY: </div></td>
<td><div align="left"><asp:TextBox ID="qty" runat="server" ReadOnly="true" Text='<%#Eval("p_qty") %>' CssClass="txtname" /></div></td>
</tr>
<tr>
<td colspan="2"><div align="right">
<font color="#333333"><asp:CheckBox ID="CheckBox" runat="server" Text="Enquiry" AutoPostBack="true" OnCheckedChanged="check_CheckedChanged"/> </font>
</div></td>
</tr>
</table><br />
</ItemTemplate>
private void DataList1_ItemCreated(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
CheckBox ck = (CheckBox)e.Item.FindControl("CheckBox1");
if(ck!=null)
{
ck.Attributes.Add("uid",this.DataList1.DataKeys[e.Item.ItemIndex].ToString());
ck.CheckedChanged +=new EventHandler(ck_CheckedChanged);
}
}private void ck_CheckedChanged(object sender, System.EventArgs e)
{
//CODE
}
然后将
ck.CheckedChanged +=new EventHandler(ck_CheckedChanged);
改为
ck.ToolTip = this.DataList1.DataKeys[e.Item.ItemIndex].ToString();然后在
private void ck_CheckedChanged(object sender, System.EventArgs e)
{
//CODE
}
中用 string uid = ((CheckBox)sender).ToolTip ; 得到该ID