【问题标题】:Why does my partial view not working?为什么我的部分视图不起作用?
【发布时间】:2016-08-30 23:39:20
【问题描述】:

我创建了一个局部视图,并将这个局部视图用于从 _layout 继承的另一个视图 m 代码是 true 并且没有错误,但是当我单击提交时它显示此消息:(资源不能成立)。我无法追踪这个错误。请帮我 。谢谢 这是我的新闻。cshtml:

@model MPortal.Models.WebSite_OpinionDB
@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
@section Body{
        @Html.Partial("CreateOpinion")
        @Html.Action("CreateOpinion", "User")
}

这是我的 _Layout.cshtml :

<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>
    <link href="~/Theme/css/bootstrap.css" rel="stylesheet">
    <link href="~/Content/CssFramework.css" rel="stylesheet" />
    @RenderSection("CSS", required: false)
</head>
<body>
    @RenderSection("Body", required: false)
    <script src="~/Scripts/jquery-1.7.1.min.js"></script>
    <script src="~/Scripts/modernizr-2.5.3.js"></script>
    <script src="~/Theme/js/bootstrap.js"></script>
    @RenderSection("scripts", required: false)
</body>
</html>

这是我的部分视图:(CreateOpinion.cshtml)

@model MPortal.Models.WebSite_OpinionDB
@section Body{
    <div class="" style="float: right; width: 75%">
        @Html.Raw(Session["Right"])
        @using (Html.BeginForm())
        {
            <div class="rateit" style="float: right; width: 25%">
                <input type="text" maxlength="100" value="name" class="form-control" name="Values" id="NameFamily" />
                <br />
                <input type="text" maxlength="100" value="email" class="form-control" name="Values" id="Email" />
                <br />
                @Html.TextAreaFor(x => x.OpinionText, new { @class = "form-control", @placeholder = "opinion" })
                <br />
                <button class="btn btn-primary" type="submit">submit</button>
            </div>
        }
        <div class="" style="width: 20%; height: 625px; border: 1px solid black; float: left">
            @Html.Raw(Session["Left"])
        </div>
    </div>
    <div class="" style="float: right; width: 75%">
        @if (ViewData["Success"] != null)
        {
            <div class="alert alert-success alert-dismissable">
                <button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
                @(ViewData["Success"] != null ? ViewData["Success"].ToString() : "")
            </div>
        }
        @if (ViewData["UnSuccess"] != null)
        {
            <div class="alert alert-danger bs-alert-old-docs">
                <button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
                @(ViewData["UnSuccess"] != null ? ViewData["UnSuccess"].ToString() : "")
            </div>
        }
    </div>
}

这是我的局部视图操作:

     [ChildActionOnly]
        public ActionResult CreateOpinion(MPortal.Models.WebSite_OpinionDB saveop, FormCollection frm)
        {
            if (!string.IsNullOrEmpty(frm["Values"]))
            {
                int mtID = (int)MPortal_CL.Globals.GetParam("MetaDataID", 0);
                MPortal.Models.WebSite_OpinionDB op = new MPortal.Models.WebSite_OpinionDB();
                String[] texts = frm["Values"].Split(',');
.....
.......
}

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4


    【解决方案1】:

    删除属性[ChildActionOnly],如果这不起作用,请使用重载版本

    @using (Html.BeginForm("CreateOpinion","ControllerName"))
    

    【讨论】:

    • 非常感谢。我删除 [ChildActionOnly] 并将 ("CreateOpinion","ControllerName") 添加到 BeginForm 并且它可以工作。
    • @awesome 为什么删除 ChildActionOnly 会起作用?它有什么问题?出于好奇问这个!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    • 2020-02-05
    • 2016-02-01
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多