你可以这样做。
1、利用你的div,给它添加runat="server"属性,然后让这个div的id都唯一,这个应该不难做大吧。
<div id='div<%= i %>'>类似这样
2、你不是会有OnItemCommand事件么,在这个事件里就可以找到这个div。我写下伪代码:
protected void repeater_OnItemCommand(object sender, e){
div = eControls[0] as HtmlControl;
textbox = eControls[1] as TextBox;
if(div != null)
divAttributesAdd("data", textboxClientID);
}
3、在你的客户端,用js获取div的data属性,就可以获取到textbox在客户端的id了
给你个简单个例子,有不明白的可以问我。
<asp:Repeater ID="repStaff" runat="server" OnItemDataBound="repStaff_ItemDataBound" >
<ItemTemplate>
<div >员工姓名:
<asp:TextBox ID="txtConsumerMobile" runat="server" Text='<%# Eval("StationStaffName")%>' ></asp:TextBox>
div>
</ItemTemplate>
</asp:Repeater>
//后台获取
protected void btnPay_Click(object sender, EventArgs e)
{
if (rptMestItemsCount > 0)
{
List<ModelPay> listPayModel = new List<ModelPay>();
foreach (RepeaterItem rptitem in thisrptMestItems)
{
payModel = new ModelPay();
HiddenField hfID = (HiddenField)rptitemFindControl("hfID");
Label lblFee = rptitemFindControl("lblFee") as Label;
TextBox txtPayment = rptitemFindControl("txtPayment") as TextBox;
TextBox txtNotes = rptitemFindControl("txtNotes") as TextBox;
TextBox txtPayDate = rptitemFindControl("txtPayDate") as TextBox;
payModelOperatingDate = ConvertToDateTime(txtPayDateText);
payModelFee = ConvertToInt32(lblFeeText);
payModelManifestID = hfIDValue;
payModelCreateUser = CurrentUserID;
payModelOperatingUser = CurrentUserID;
payModelRemark = "";
payModelPayment = ConvertToInt32(txtPaymentText);
listPayModelAdd(payModel);
}
if (payBLLAdd(listPayModel))
{
CommonMessageBoxShow(thisPage, "付款处理成功!");
InitData();
DataBinds();
}
else
{
CommonMessageBoxShow(thisPage, "付款处理失败!");
DataBinds();
}
}
} 前台绑定
<asp:Repeater runat="server" ID="rptMest" OnItemCommand="rptMest_ItemCommand" OnItemDataBound="rptMest_ItemDataBound">
<ItemTemplate>
<tr class="rptTr">
<td>
<asp:HiddenField ID="hfID" Value='<%# Eval("ManifestID")%>' runat="server" />
<a onclick='ShowFrame(<%# Eval("ManifestID")%>)' title="货单详情" href="javascript:void(0)">
<%# Eval("ManifestID")%>
</a>
</td>
<td>
<asp:Label ID="lblDate" runat="server" Text='<%# Eval("Date","{0:yyyy-MM-dd}")%>'></asp:Label>
</td>
<td >
<asp:Label ID="lblShipper" runat="server" Text='<%# Eval("Shipper")%>'></asp:Label>
</td>
<td>
<asp:Label ID="lblConsignee" runat="server" Text='<%# Eval("Consignee")%>'></asp:Label>
</td>
<td>
<asp:Label ID="lblCargoAmount" runat="server" Text='<%# Eval("CargoAmount")%>'></asp:Label>
</td>
<td>
<asp:Label ID="lblCargoType" runat="server" Text='<%# Eval("CargoType")%>'></asp:Label>
</td>
<td>
<asp:Label ID="lblPayment" class="dshk" runat="server" Text='<%# Eval("Payment")%>'></asp:Label>
</td>
<td>
<asp:Label ID="lblCheckoutPayment" class="sshk" runat="server" Text='<%# Eval("CheckoutPayment")%>'></asp:Label>
</td>
<td>
<asp:Label ID="lblCheckoutNotes" Text='<%# Eval("CheckoutNotes")%>' runat="server"></asp:Label>
</td>
<td>
<asp:Label ID="lblFee" class="sxf" runat="server" Text=""></asp:Label>
</td>
<td>
<asp:Label ID="lblYFPayment" class="yfhk" runat="server" Text=""></asp:Label>
</td>
<td>
<asp:TextBox ID="txtPayDate" Width="80px" onclick="WdatePicker({isShowClear:true,readOnly:false,maxDate:'%y-%M-%d'})" runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="txtPayment" class="sfhk" onkeyup="CheckValue(this)" Width="50px"
MaxLength="10" runat="server"></asp:TextBox>
</td>
<td>
<asp:LinkButton ID="lbnDelete" runat="server" CommandName="Delete">[移除]</asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
以上就是关于aspx,javascript,用repeater动态生成的textbox,在一个动态生成的div里,div可以通过id获得得到全部的内容,包括:aspx,javascript,用repeater动态生成的textbox,在一个动态生成的div里,div可以通过id获得得到、web 小弟我想 在repeater控件里中放置一个textBox控件 从数据库中读取数据并显示在textBox里、c#如何获取repeater中某一行某一列文本框的值 文本框没有id等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)