最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

asp.net动态产生checkbox(数据源为DB或内存集合)

来源:动视网 责编:小OO 时间:2020-11-27 22:40:34
文档

asp.net动态产生checkbox(数据源为DB或内存集合)

需求。1动态产生一组checkbox(数据源为DB或内存集合)。2post提交时后台能及时获取。3提交后刷新页面checkbox保持原先选中或取消选中状态。4避免产生大量的viewstate。方案:使用repeater+input(checkbox)+input(hidden)。html代码代码如下:
推荐度:
导读需求。1动态产生一组checkbox(数据源为DB或内存集合)。2post提交时后台能及时获取。3提交后刷新页面checkbox保持原先选中或取消选中状态。4避免产生大量的viewstate。方案:使用repeater+input(checkbox)+input(hidden)。html代码代码如下:


之前在网上看了很多,其实有一些也是大同小异,本人在此小编一下大致解决方案摒弃微软提供的CheckBoxList

需求:

1动态产生一组checkbox(数据源为DB或内存集合)

2post提交时后台能及时获取

3提交后刷新页面checkbox保持原先选中或取消选中状态

4避免产生大量的viewstate

方案:使用repeater+input(checkbox)+input(hidden)

html代码
代码如下:


<asp:Repeater runat="server" ID="RPT_ReportType">
<ItemTemplate>
<input type="checkbox" value='<%#Eval("Id") %>' onclick="{var next = $(this).next();if($(this).attr('checked')){next.val($(this).val())}else{next.val('')}}" runat="server"/><%#Eval("TypeName")%>
<input type="hidden" name="reportType"/>
</ItemTemplate>
<AlternatingItemTemplate>
<input type="checkbox" value='<%#Eval("Id") %>' onclick="{var next = $(this).next();if($(this).attr('checked')){next.val($(this).val())}else{next.val('')}}" runat="server"/><%#Eval("TypeName")%>
<input type="hidden" name="reportType"/>
</AlternatingItemTemplate>
</asp:Repeater>

注:尽量把里面的OnClick中的匿名函数代码写在页头.

Js代码
代码如下:


$(":hidden[name='reportType']").each(function () {
var obj = $(this).prev();
if (obj.attr('checked')){ $(this).val(obj.val()); }
});

当post提交时后台获取
代码如下:

string[] _str = Request["reportType"].Split(',');

字符串数据不可避免的会有空字符串,注意删选,否则在拆箱时会出现类型转换异常

文档

asp.net动态产生checkbox(数据源为DB或内存集合)

需求。1动态产生一组checkbox(数据源为DB或内存集合)。2post提交时后台能及时获取。3提交后刷新页面checkbox保持原先选中或取消选中状态。4避免产生大量的viewstate。方案:使用repeater+input(checkbox)+input(hidden)。html代码代码如下:
推荐度:
标签: asp ASP.NET checkbox(
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top