相关疑难解决方法(0)

如何获取CheckBoxList选择的值,我所拥有的C#.NET/VisualWebPart似乎不起作用

我在类文件中创建一个CheckBoxList,并使用HTMLTextWriter来呈现控件.

我正在使用以下代码将所选值存储在字符串中:

string YrStr = "";
for (int i = 0; i < YrChkBox.Items.Count; i++)
{
    if (YrChkBox.Items[i].Selected)
    {
        YrStr += YrChkBox.Items[i].Value + ";"; 
    }
}
Run Code Online (Sandbox Code Playgroud)

我逐步完成了代码,它似乎没有触及if语句的内部,并且每次选中的value属性都是false ...任何人都知道如何解决这个问题?

我使用以下内容填充它:

 YrChkBox.Items.Add(new ListItem("Item 1", "Item1"));
Run Code Online (Sandbox Code Playgroud)

html c# asp.net htmltextwriter

12
推荐指数
2
解决办法
18万
查看次数

使用Request.Form确定在CheckBoxList中选择了哪些项目

使用此处问题中显示的方法,我可以从我的获取所选项目值CheckBoxList:

var selectedCheckBoxItems = from key in Request.Form.AllKeys
                        where key.Contains(cbl.ID)
                        select Request.Form.Get(key);
Run Code Online (Sandbox Code Playgroud)

然后我可以迭代结果:

foreach (var item in selectedCheckBoxItems)
{

}
Run Code Online (Sandbox Code Playgroud)

问题是item只是发布的值,对于复选框,它只是字符串"on".

上

我需要能够通过索引或其他方法确定哪个项目"打开".

问: 我如何确定适合该项目CheckBoxList的选择,使用Request.Form

这是我的CheckBoxList定义:

<asp:CheckBoxList runat="server" ID="cblAnimalType" SelectionMode="Multiple" DataTextField="OptionText" DataValueField="OptionId"  AutoPostBack="True"/>
Run Code Online (Sandbox Code Playgroud)

项目从后面的代码添加到列表中:

DataTable dt = GetData(SqlGetListOptions, paramList);
cbl.DataSource = dt;
cbl.DataBind();
Run Code Online (Sandbox Code Playgroud)

另一个要知道的重要事情是ViewStateMode="Disabled",所以我必须Request.Form用来获取所选项目.


在回复评论时,以下是CheckBoxList的HTML呈现方式:

HTML


@Leopard指出他看到HTML中呈现的值在我的情况下没有发生.AdamE对这个问题的回答解释了原因.我在web.config中有以下行:

<pages validateRequest="false" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
Run Code Online (Sandbox Code Playgroud)

这解释了为什么我看到"开"而不是所选项的实际值.我无法在没有验证它会破坏其他内容的情况下从web.config中提取兼容性,但似乎如果可以安全删除该设置,则可以从代码隐藏中访问复选框列表值.

c# asp.net checkboxlist

5
推荐指数
1
解决办法
1646
查看次数

使用Linq查询从DropDownList中选择ListItem

我试图使用Linq查询在下拉列表控件中查找和设置所选值.

 Dim qry = From i In ddlOutcome.Items _
           Where i.Text.Contains(value)


 Dim selectedItem As ListItem = qry.First

 ddlOutcome.SelectedValue = selectedItem.Value
Run Code Online (Sandbox Code Playgroud)

即使文档说DropDownList.Items集合实现IEnumerable,我在Where子句中得到一个错误,Option Strict ON不允许后期绑定!

asp.net linq-to-objects drop-down-menu

4
推荐指数
3
解决办法
2万
查看次数

如何在asp.net中使用javascript获取所选复选框列表项的值

我正在开发一个asp.net项目,其中我有一个我已经绑定的复选框列表

DataTable dt = new Process_Hotels().SelectAllFacilty();           
if (dt.Rows.Count > 0)                                            
{                                                                 
    cblHotelFacility.DataSource = dt;                             
    cblHotelFacility.DataTextField = "Facility";                  
    cblHotelFacility.DataValueField = "ID";                       
    cblHotelFacility.DataBind();                                  

    foreach (ListItem li in cblHotelFacility.Items)               
    {                                                             
        li.Attributes.Add("JSvalue", li.Value);                   
    }                                                             
}
Run Code Online (Sandbox Code Playgroud)

现在我想在按钮点击时使用javascript获取checkboxlist的选定值ID.因为我在按钮上有以下javascript代码点击:

<script type="text/javascript">                                                                                   

    function test() {                                                                                             
        var checkList1 = document.getElementById('<%= cblHotelFacility.ClientID %>');                             
        var checkBoxList1 = checkList1.getElementsByTagName("input");                                             
        var checkBoxSelectedItems1 = new Array();                                                                 

        for (var i = 0; i < checkBoxList1.length; i++) {                                                          
            if (checkBoxList1[i].checked) {                                                                       
                checkBoxSelectedItems1.push(checkBoxList1[i].value);                                              
                //alert('checked:' + checkBoxSelectedItems1.push(checkBoxList1[i].getAttribute("JSvalue")).value);
                alert('checked - : ' + checkBoxList1[i].value)                                                    
            }                                                                                                     
        }                                                                                                         
    }                                                                                                             
</script>
Run Code Online (Sandbox Code Playgroud)

但点击按钮所选复选框列表显示0.我想获取所选复选框列表项的ID.请帮忙.

javascript c# asp.net

2
推荐指数
1
解决办法
4万
查看次数