2 Stimmen

Partial View lädt nicht mehr, sobald sie stark typisiert ist

Controller:

namespace AdminPortal.Controllers
{
    public class HomeController : Controller
    {

        public ActionResult Index()
        {
            return View();
        }

        public PartialViewResult ServersTab(AdminPortalModel model)
        {      
            return PartialView("~/Views/Home/ServersTab.cshtml", model.Servers);
        }

        public PartialViewResult _ServerNew()
       {
            return PartialView("~/Views/Home/_ServerNew.cshtml");
        }
    }
}

Ansicht zu laden:

@using AdminPortal.CustomHelpers;

@model AdminPortal.Models.AdminPortalModel;

Dieses 'div'-Element verwendet 'overflow:scroll', um Scrollbalken zu erstellen, wann immer der Inhalt des 'div' zu groß wird.

View, die das Laden durchführt:

@using AdminPortal.CustomHelpers;

@model IEnumerable

...

    @Ajax.ImageActionLink("../../Images/edit_grey.png", "Bearbeiten ==>", "_ServerEdit", "",
        new AjaxOptions
           {
               HttpMethod = "GET",
               InsertionMode = InsertionMode.Replace,
               UpdateTargetId = "NewEditSubview"
           },
                new
                {
                    id = "EditButton"
                })

Benutzerdefinierter Ajax Helper:

public static IHtmlString ImageActionLink(this AjaxHelper helper, string imageUrl, string altText, string actionName, object routeValues, AjaxOptions ajaxOptions, object htmlAttributes = null)
    {
        var builder = new TagBuilder("img");
        builder.MergeAttribute("src", imageUrl);
        builder.MergeAttribute("alt", altText);
        builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));
        var link = helper.ActionLink("[replaceme]", actionName, routeValues, ajaxOptions).ToHtmlString();
        return MvcHtmlString.Create(link.Replace("[replaceme]", builder.ToString(TagRenderMode.SelfClosing)));
    }

Im Grunde genommen, wenn meine "View zu laden" @model AdminPortal.Models.AdminPortalModel; enthält, wird sie nicht geladen, aber wenn ich diese Zeile entferne, wird sie geladen. Ich benötige dieses Modal, um es in meiner Ansicht zu verwenden und dem Benutzer einige Informationen anzuzeigen. Ich bin mir nicht sicher, warum das Festlegen der Ansicht als stark typisiert dazu führt, dass die Ansicht nicht geladen wird. Irgendwelche Ratschläge?

EDIT:

Um näher auf "wird nicht geladen" einzugehen: Wenn die Ansicht stark typisiert ist

Wenn die Ansicht nicht stark typisiert war

0voto

TT77 Punkte 166

Diese Fehler sind unmöglich zu fangen, weil VS mir nie genaue Fehler anzeigt, vor allem in .cshtml-Dateien

Sie können die Kompilierung von Views in ASP.NET MVC-Projekten aktivieren. Dies ist standardmäßig deaktiviert. Die Eigenschaft heißt MvcBuildViews und muss manuell in der Projektdatei geändert werden. Siehe Antwort unter: ASP.Net MVC - Compiler-Fehler in Ansichten

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X