问题描述
我知道我缺少一些非常基本的东西。我有一个HomeController,里面有一个局部视图。部分视图中有一个按钮,可通过ajax调用获取数据(ParserModel)。现在,单个数据值不再包含在_Parser.cshtml中。 这是我的HomeController ajax方法,它调用ParserView数据。
public IActionResult Parser()
{
ParserModel parser = new ParserModel();
parser.LogoPosition = "This is correct";
return PartialView("_Parser");
}
下面是我的_Parser.cshtml视图,该视图未设置LogoPosition的值
@using PageRefine.Models
@model PageRefine.Models.ParserModel
<form asp-controller="Home" asp-action="Parser" data-ajax="true" data-ajax-update="#CustomerList">
<button type="submit" id="button1">Click</button>
<p>@Model.LogoPosition</p>@*This is giving null reference error. Here it should be "This is correct"*@
<p>@Html.RenderPartial("_Parser",Model.LogoPosition)</p>@*This is printing LogoPosition*@
</form>
这是部分视图的Index.cshtml代码
<div id="CustomerList">
<partial name="_Parser" />
</div>
我应该怎么做才能在Partial View(_Parser.cshtml)中按其名称获取模态值。让我知道我是否缺少任何信息。
解决方法
您需要将模型传递到局部视图
public IActionResult Parser()
{
ParserModel parserModel = new ParserModel();
parserModel.LogoPosition = "This is correct";
return PartialView("_Parser",parserModel);
}