Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 根据页面的不同,发布数据的方式多种多样。部分视图使用ajax调用,这似乎需要POST。同样,由于新手主义和不理解标签的全部含义,在我的故障排除过程中,删除或添加标签并查看不同的帖子结果是我的一部分。是的,添加真正进入列表的标签是我所缺少的。事后看来,这是有_C#_Jquery_Asp.net Mvc_Model View Controller_Asp.net Mvc 5 - Fatal编程技术网

C# 根据页面的不同,发布数据的方式多种多样。部分视图使用ajax调用,这似乎需要POST。同样,由于新手主义和不理解标签的全部含义,在我的故障排除过程中,删除或添加标签并查看不同的帖子结果是我的一部分。是的,添加真正进入列表的标签是我所缺少的。事后看来,这是有

C# 根据页面的不同,发布数据的方式多种多样。部分视图使用ajax调用,这似乎需要POST。同样,由于新手主义和不理解标签的全部含义,在我的故障排除过程中,删除或添加标签并查看不同的帖子结果是我的一部分。是的,添加真正进入列表的标签是我所缺少的。事后看来,这是有,c#,jquery,asp.net-mvc,model-view-controller,asp.net-mvc-5,C#,Jquery,Asp.net Mvc,Model View Controller,Asp.net Mvc 5,根据页面的不同,发布数据的方式多种多样。部分视图使用ajax调用,这似乎需要POST。同样,由于新手主义和不理解标签的全部含义,在我的故障排除过程中,删除或添加标签并查看不同的帖子结果是我的一部分。是的,添加真正进入列表的标签是我所缺少的。事后看来,这是有道理的。我知道我的答案很接近:(标记为已回答,感谢您为我的代码提供了伟大的更新示例和解释。感谢您的回答,因为它看起来与另一个答案一样有效,尽管我希望将列表构建在控制器中,然后呈现,所以我选择了另一种方法。 public class Ro


根据页面的不同,发布数据的方式多种多样。部分视图使用ajax调用,这似乎需要POST。同样,由于新手主义和不理解标签的全部含义,在我的故障排除过程中,删除或添加标签并查看不同的帖子结果是我的一部分。是的,添加真正进入列表的标签是我所缺少的。事后看来,这是有道理的。我知道我的答案很接近:(标记为已回答,感谢您为我的代码提供了伟大的更新示例和解释。感谢您的回答,因为它看起来与另一个答案一样有效,尽管我希望将列表构建在控制器中,然后呈现,所以我选择了另一种方法。
    public class RoleAddRemoveListBoxViewModel
{

    public List<System.Web.Mvc.SelectListItem>  CurrentRoles { get; set; }
    public List<System.Web.Mvc.SelectListItem>  NonMemberRoles { get; set; }



}
 [HttpPost]
    public ActionResult ManageUserRoles(string userList)
    {

        List<SelectListItem> lbMemberRoles = new List<SelectListItem>();
        List<SelectListItem> lbNonMemberRoles = new List<SelectListItem>();


        var user = (from u in db.Users
                                where u.UserName == userList
                    select u).SingleOrDefault();

        // prepopulate roles for the view dropdown
        var roleList = db.Roles.OrderBy(r => r.Name).ToList().Select(rr =>
        new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList();



        var userRoles = UserManager.GetRoles(user.Id);

        foreach (var role in roleList)
        {
            if (userRoles.Contains(role.Value.ToString()))
            {
                lbMemberRoles.Add(role);
            }
            else
            {
                lbNonMemberRoles.Add(role);   
            }
        }
        RoleAddRemoveListBoxViewModel lbvm = new RoleAddRemoveListBoxViewModel
        {
            CurrentRoles = lbMemberRoles,
            NonMemberRoles = lbNonMemberRoles
        };

        return View(lbvm);
    }

    [HttpPost]
    public ActionResult UpdateUserRoles(RoleAddRemoveListBoxViewModel model)
    {

        TempData["updateState"] = "User Role Updated Successfully!";


        return RedirectToAction("Index");
    }
@model WebDocEditor.Models.RoleAddRemoveListBoxViewModel
@{
using (Html.BeginForm("UpdateUserRoles", "Roles", FormMethod.Post))
{

    <body>
        <fieldset>
            <form>
                <div class="row">

                    <div class="col-xs-2">
                        @Html.LabelFor(model => model.CurrentRoles)
                    <div>
                       @Html.ListBoxFor(model => model.CurrentRoles, Model.CurrentRoles)

                    </div>
                </div>
                <div class="btn-group-vertical col-xs-1">
                    <div id="moveRightbtn" class="btn glyphicon glyphicon-arrow-right"></div>
                    <div id="moveLeftbtn" class="btn glyphicon glyphicon-arrow-left"></div>
                </div>

                <div class="col-xs-2">
                    @Html.LabelFor(model => model.NonMemberRoles)
                <div>
                    @Html.ListBoxFor(model => model.NonMemberRoles, Model.NonMemberRoles)
                </div>
            </div>

        </div>
        <input type="submit" value="Save" />
        </form>
    </fieldset>
    </body>


}
@section Scripts
{
    <script type="text/javascript">
    $(document).ready(function () {

    $('#moveRightbtn').on('click', function () {
        var selectedCurrent = $('#CurrentRoles option:selected');
        $('#NonMemberRoles').append($(selectedCurrent).clone());
        $(selectedCurrent).remove()
        //alert(selectedCurrent);

    })

    $('#moveLeftbtn').on('click', function () {
        var selectedNonMember = $('#NonMemberRoles option:selected');
        $('#CurrentRoles').append($(selectedNonMember).clone());
        $(selectedNonMember).remove()
        //alert(selectedNonMember);

    })

    $("#submitBtn").on('click', function (e) {

        $("#CurrentRoles option").prop('selected', 'selected');
        $("#NonMemberRoles option").prop('selected', 'selected');
    });

           });
</script>
}
public class RoleAddRemoveListBoxViewModel
{
    public List<System.Web.Mvc.SelectListItem>  CurrentRolesList { get; set; }
    public List<System.Web.Mvc.SelectListItem>  NonMemberRolesList { get; set; }
    public string[] CurrentRoles {get;set;}
    public string[] NonMemberRoles {get;set;}
}
@using (Html.BeginForm())
{
    <div class="row">
        <div class="col-xs-2">
            @Html.LabelFor(model => model.CurrentRoles)
            <div>
                @Html.ListBoxFor(model => model.CurrentRoles, Model.CurrentRolesList)
            </div>
        </div>
        <div class="btn-group-vertical col-xs-1">
            <div id="moveRightbtn" class="btn glyphicon glyphicon-arrow-right"></div>
            <div id="moveLeftbtn" class="btn glyphicon glyphicon-arrow-left"></div>
        </div>

        <div class="col-xs-2">
            @Html.LabelFor(model => model.NonMemberRoles)
            <div>
                @Html.ListBoxFor(model => model.NonMemberRoles, Model.NonMemberRolesList)
            </div>
        </div>
    </div>
    <input type="submit" value="Save" />
}
public ActionResult ManageUserRoles(string userList)
{

    List<SelectListItem> lbMemberRoles = new List<SelectListItem>();
    List<SelectListItem> lbNonMemberRoles = new List<SelectListItem>();
    var user = (from u in db.Users
                where u.UserName == userList
                select u).SingleOrDefault();

    // prepopulate roles for the view dropdown
    var roleList = db.Roles.OrderBy(r => r.Name).ToList().Select(rr =>
    new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList();
    var userRoles = UserManager.GetRoles(user.Id);
    foreach (var role in roleList)
    {
        if (userRoles.Contains(role.Value.ToString()))
        {
            lbMemberRoles.Add(role);
        }
        else
        {
            lbNonMemberRoles.Add(role);
        }
    }
    RoleAddRemoveListBoxViewModel lbvm = new RoleAddRemoveListBoxViewModel
    {
        CurrentRolesList = lbMemberRoles,
        NonMemberRolesList = lbNonMemberRoles
    };

    return View(lbvm);
}
public List<System.Web.Mvc.SelectListItem>  CurrentRoles { get; set; }
public List<System.Web.Mvc.SelectListItem>  NonMemberRoles { get; set; }
public string[] SelectedCurrentRoles{ get; set; }
public string[] SelectedNonMemberRoles{ get; set; }
@Html.ListBoxFor(model => model.SelectedCurrentRoles, new MultiSelectList(Model.CurrentRoles, "Value", "Text"))
@Html.ListBoxFor(model => model.SelectedNonMemberRoles, new MultiSelectList(Model.NonMemberRoles , "Value", "Text"))