C# 使用jQuery添加的ASP.Net ListBox项要在代码中隐藏

C# 使用jQuery添加的ASP.Net ListBox项要在代码中隐藏,c#,jquery,asp.net,listbox,listboxitems,C#,Jquery,Asp.net,Listbox,Listboxitems,我在这件事上拔头发的时间太长了。希望你们能帮忙 我有一个表单,允许用户从技能列表中添加我的个人技能 我使用jQuery完成了加号按钮+和减号按钮代码,如下所示: <script language="javascript" type="text/javascript"> function AddItSkills() { var selectedOptions = jQuery('#<%=ListITProgramming.ClientID %> option:sel

我在这件事上拔头发的时间太长了。希望你们能帮忙

我有一个表单,允许用户从技能列表中添加我的个人技能

我使用jQuery完成了加号按钮+和减号按钮代码,如下所示:

<script language="javascript" type="text/javascript">
function AddItSkills() {
    var selectedOptions = jQuery('#<%=ListITProgramming.ClientID %> option:selected');
    if (selectedOptions.length == 0) {
        alert("Please select option to move.");
        return false;
    }

    if (selectedOptions.length == 1) {
        if (jQuery("#<%=ListMyITProgramming.ClientID %> option[value='" + selectedOptions.val() + "']").length > 0) {
        }
        else {
            jQuery('#<%=ListMyITProgramming.ClientID %>').append(jQuery(selectedOptions).clone());
        }
    }
    else if (selectedOptions.length > 1) { jQuery(selectedOptions).each(function () { if (jQuery("#<%=ListMyITProgramming.ClientID %> option[value='" + this.value + "']").length > 0) { } else { jQuery('#<%=ListMyITProgramming.ClientID %>').append(jQuery(this).clone()); } }); }
    jQuery(selectedOptions).remove();
    return false;
}
function RemoveITSkills() {
    var selectedOptions = jQuery('#<%=ListMyITProgramming.ClientID %> option:selected');
    if (selectedOptions.length == 0) {
        alert("Please select option to move.");
        return false;
    }

    if (selectedOptions.length == 1) {
        if (jQuery("#<%=ListITProgramming.ClientID %> option[value='" + selectedOptions.val() + "']").length > 0) {
        }
        else {
            jQuery('#<%=ListITProgramming.ClientID %>').append(jQuery(selectedOptions).clone());
        }
    }
    else if (selectedOptions.length > 1) { jQuery(selectedOptions).each(function () { if (jQuery("#<%=ListITProgramming.ClientID %> option[value='" + this.value + "']").length > 0) { } else { jQuery('#<%=ListITProgramming.ClientID %>').append(jQuery(this).clone()); } }); }
    jQuery(selectedOptions).remove();
    return false;
}
在这个场景中,技能是从数据库绑定的,而我的个人技能是空的。用户将技能添加到我的个人技能中,然后单击保存按钮

在c代码隐藏中,我无法从我的个人技能中获取项目列表,因为它们是通过jQuery添加的


有谁能给我一些指导,让我的个人技能项目在c代码中隐藏起来吗?

隐藏字段将是这里的银弹

第一步。将asp hiddenfield添加到页面,让我们假设hf1是其id

第二步。将clientclick事件添加到“保存”按钮

步骤3.在客户端clickevent中,获取所有个人技能,并使用逗号或“|”将其转换为单个字符串

第四步。将hf1值设置为步骤3生成的字符串,然后过帐

步骤5.在服务器端获取hf1的值,该值将与第3步中生成的字符串相同

第六步。反序列化它并//做任何你想做的事情


希望此帮助

隐藏字段将成为此处的银弹

第一步。将asp hiddenfield添加到页面,让我们假设hf1是其id

第二步。将clientclick事件添加到“保存”按钮

步骤3.在客户端clickevent中,获取所有个人技能,并使用逗号或“|”将其转换为单个字符串

第四步。将hf1值设置为步骤3生成的字符串,然后过帐

步骤5.在服务器端获取hf1的值,该值将与第3步中生成的字符串相同

第六步。反序列化它并//做任何你想做的事情


希望此帮助

使用Request.Params[ListITProgramming]最简单的事情就是忘记使用jQuery,并将ASP.Net控件放入更新面板中。@Anna.P:我正在研究您的建议。@Daniel Gimenez:我已经在更新面板中使用ASP.Net列表框控件完成了解决方案,但在两个列表框之间移动值需要2-3秒。为了提高可用性,我正试图通过jQuery实现它。还有什么建议吗?使用Request.Params[ListITProgramming]最简单的事情就是忘记使用jQuery,并将ASP.Net控件放入更新面板中。@Anna.P:我正在研究您的建议。@Daniel Gimenez:我已经在更新面板中使用ASP.Net列表框控件完成了解决方案,但在两个列表框之间移动值需要2-3秒。为了提高可用性,我正试图通过jQuery实现它。还有什么建议吗?