簡體   English   中英

部分視圖不在內部渲染

[英]Partial View Not Rendering Inside View

我在另一個局部視圖中有一個局部視圖,當第一次運行應用程序按預期加載時,但是當你單擊重新加載視圖以將模型推入其中時,它會呈現為它自己完全獨立的視圖,就好像它不是部分的。

我在Ajax表單中調用它(在Action鏈接上單擊,_GetSearchModal方法):

<div id="modelSearch">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h3 class="panel-title">
                <i class="fa fa-search"></i> Search by Model / Manufacturer
            </h3>
        </div>
        <div class="panel-body">
            @using (Ajax.BeginForm("_GetSearch", "Home", new AjaxOptions() {UpdateTargetId = "modelSearch"}))
            {
                @Html.AntiForgeryToken()
                <div class="input-group">
                    @Html.TextBox("search", null, new {id = "name", @class = "form-control", placeholder = "Please enter a manufacturer or model"})
                    <span class="input-group-btn">
                        <button id="search" class="btn btn-default" type="submit"><i class="fa fa-search"></i></button>
                    </span>
                </div>
                if (Model != null)
                {
                    <div id="searchResults" class="fade-in two">
                        @foreach (var s in Model)
                        {
                            <div class="result">
                                @switch (s.ResultType)
                                {
                                    case "Man":
                                        <a href="#">@s.Manufacturer</a>
                                        break;
                                    case "Mod":
                                        @Html.ActionLink(s.Manufacturer + Html.Raw(s.Model), "_GetSearchModal", "Home", new {id = s.MachineId}, new {toggle = "modal", data_target = "#MachineModal"})
                                        <img src="~/Images/General/Tier/@(s.TierId).png" alt="Tier @s.TierId"/>
                                        break;
                                }

                            </div>

                        }
                    </div>
                }
            }
        </div>
    </div>
</div>

<!-- Product Modal -->
<div class="modal fade" id="MachineModal" tabindex="-1" role="dialog" aria-labelledby="MachineModalLabel">
    @Html.Partial("_SearchModal", new MachineModal())
</div>

並且視圖本身應該加載不同的視圖模型(MachineModal):

@model SpecCheck.Portals.Web.UI.ViewModels.MachineModal

@if (Model != null)
{

        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title" id="MachineModalLabel">@Model.Manufacturer @Model.Model</h4>
                </div>
                <div class="modal-body">
                    <div class="row">
                        <div class="col-md-6">
                            <img src="~/Images/@Model.Manufacturer/logo.png" alt="@Model.Manufacturer" /><br />
                            <a href="#" type="button" class="btn button">Wiki</a>
                        </div>
                        <div class="col-md-6">
                            @Model.Catagory1 | @Model.Category2<br /><br />
                            <span class="modal-em">Region: </span> @Model.Region<br />
                            <span class="modal-em">Status: </span>@Model.Status<br />
                            <span class="modal-em">Spec Date: </span>@Model.SpecDate
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <a href="#" type="button" class="btn button">View</a>
                    <a href="#" type="button" class="btn button">Quick Compare</a>
                    <a href="#" type="button" class="btn button">Compare</a>
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                </div>
            </div>
        </div>
}

在“家庭控制器”中執行此操作的操作是:

public ActionResult _GetSearchModal(string machineId)
{
    using (var db = new SpecCheckDbContext())
    {
        MachineModal machine = new MachineModal();
        var searchHelper = new SearchHelper(db);

        //Get Machine Details
        var dbResults = searchHelper.SearchModal(Convert.ToInt32(machineId));

        machine.Model = dbResults.Model;
        machine.Catagory1 = dbResults.Catagory1;
        machine.Category2 = dbResults.Category2;
        machine.Manufacturer = dbResults.Manufacturer;
        machine.Region = dbResults.Region;
        machine.SpecDate = dbResults.SpecDate;
        machine.Status = dbResults.Status;
        machine.MachineId = dbResults.MachineId;
        machine.ManufacturerId = dbResults.ManufacturerId;

        var model = machine;

        return PartialView("_SearchModal", model);
    }
}

我檢查的第一件事是腳本,當布局頁面加載時它們都到位,所以它不是腳本問題。 不知道該改變什么甚至嘗試在這一點所以任何建議歡迎。

在ajax形式:

_GetSearch => _GetSearchModal(name of the action)

嘗試將machine返回局部視圖? 也許在View層次結構中看到,是否有第二個_SearchModal局部視圖,它會被返回?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM