Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.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/3/gwt/3.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# 一页多个表单(MVC3)_C#_Asp.net_Asp.net Mvc 3 - Fatal编程技术网

C# 一页多个表单(MVC3)

C# 一页多个表单(MVC3),c#,asp.net,asp.net-mvc-3,C#,Asp.net,Asp.net Mvc 3,我是ASP.NET MVC 3的新手,我正在尝试为一个有几个关系的用户对象创建一个编辑视图。我有用户的基本编辑视图,每个需要处理的关系都有选项卡 表1=编辑用户 表2=创建新的组访问权限,并列出当前组访问权限 等等 我为“编辑”视图创建了一个ViewModel: public class UserViewModel { public User User { get; set; } public GroupAccess GroupAccess { get; set; } p

我是ASP.NET MVC 3的新手,我正在尝试为一个有几个关系的用户对象创建一个编辑视图。我有用户的基本编辑视图,每个需要处理的关系都有选项卡

表1=编辑用户 表2=创建新的组访问权限,并列出当前组访问权限 等等

我为“编辑”视图创建了一个ViewModel:

public class UserViewModel
{
    public User User { get; set; }
    public GroupAccess GroupAccess { get; set; }
    public IEnumerable<GroupAccess> GroupAccessList { get; set; }
}
@model Project.ViewModels.UserViewModel

<div class="row">
    <div class="span9">
        <div class="tabbable tabs-left">
            <ul class="nav nav-tabs">
                <li class="active"><a href="#tab1" data-toggle="tab">User Information</a></li>
                <li><a href="#tab3" data-toggle="tab">Group Access</a></li>
            </ul>

            <div class="tab-content">
                <div class="tab-pane active" id="tab1">
                    @{ Html.RenderPartial("User/_CreateEditUser", Model.User); }
                </div>

                <div class="tab-pane" id="tab3">
                    @{ Html.RenderPartial("User/_CreateGroupAccess", Model.GroupAccess); }
                    @{ Html.RenderPartial("User/_ViewGroupAccessByUser", Model.GroupAccessList); }
                </div>
            </div>
        </div>
    </div>

    @{ Html.RenderPartial("_SidebarPartial"); }

</div>
编辑视图:

public class UserViewModel
{
    public User User { get; set; }
    public GroupAccess GroupAccess { get; set; }
    public IEnumerable<GroupAccess> GroupAccessList { get; set; }
}
@model Project.ViewModels.UserViewModel

<div class="row">
    <div class="span9">
        <div class="tabbable tabs-left">
            <ul class="nav nav-tabs">
                <li class="active"><a href="#tab1" data-toggle="tab">User Information</a></li>
                <li><a href="#tab3" data-toggle="tab">Group Access</a></li>
            </ul>

            <div class="tab-content">
                <div class="tab-pane active" id="tab1">
                    @{ Html.RenderPartial("User/_CreateEditUser", Model.User); }
                </div>

                <div class="tab-pane" id="tab3">
                    @{ Html.RenderPartial("User/_CreateGroupAccess", Model.GroupAccess); }
                    @{ Html.RenderPartial("User/_ViewGroupAccessByUser", Model.GroupAccessList); }
                </div>
            </div>
        </div>
    </div>

    @{ Html.RenderPartial("_SidebarPartial"); }

</div>
每个partialView都是针对各自对象的强类型

PartialView发布到同一个控制器UserController,以分离操作。当保存正确的数据时,一切正常,但当出现某种服务器端错误时,我需要以某种方式返回到编辑视图。如果在UserController中的CreateGroupAccess操作中收到服务器端错误…如何使用所需的UserId参数返回编辑视图

我被卡住了,我猜我用当前的解决方案走错了方向


有人知道如何最好地解决这个问题吗?

让自己成为BaseController:

基站控制器

其他控制器


让自己成为BaseController:

基站控制器

其他控制器


在这种情况下,您需要使用ajax。或者将重建整个模型所需的完整信息发布到服务器上。使用RedirectToAction,并在RouteValueDictionars中传递用户ID。我建议您执行客户端验证,以便用户在问题出现时立即看到问题,并在离开选项卡之前打开问题。这样,在其他选项卡上就不会出现隐藏错误的问题。这就是问题所在,对吗?仍然像现在这样做服务器端检查,以防万一,但绝大多数用户不会接受客户端检查。是的,但我仍然想知道应该如何处理这个问题…在我的场景中,我有客户端验证,只是验证,以便2个dropdownlists不为空…服务器端验证确保此用户的特定组的特定访问类型已经不存在…如果验证失败…我如何返回到上一个看法如果我执行重定向操作,那么我将丢失所有验证消息。在这种情况下,您需要使用ajax。或者将重建整个模型所需的完整信息发布到服务器上。使用RedirectToAction,并在RouteValueDictionars中传递用户ID。我建议您执行客户端验证,以便用户在问题出现时立即看到问题,并在离开选项卡之前打开问题。这样,在其他选项卡上就不会出现隐藏错误的问题。这就是问题所在,对吗?仍然像现在这样做服务器端检查,以防万一,但绝大多数用户不会接受客户端检查。是的,但我仍然想知道应该如何处理这个问题…在我的场景中,我有客户端验证,只是验证,以便2个dropdownlists不为空…服务器端验证确保此用户的特定组的特定访问类型已经不存在…如果验证失败…我如何返回到上一个看法如果我执行RedirectToAction,那么我将丢失所有验证消息。感谢您的回复,但在尝试BaseController示例时我没有收到任何消息。感谢您的回复,但在尝试BaseController示例时我没有收到任何消息。