【发布时间】:2019-09-18 15:05:53
【问题描述】:
当我发布我的 .core mvc 应用程序时,无论我是通过 .exe 还是在 IIS 中午餐,我的自定义局部视图都不会呈现。这就是它的外观(当我在本地调试它或发布到 .exe 并将环境更改为开发时):
这是在生产环境中发布后的样子:
我注意到,在使这个部分视图出现在工作示例 url 中的触发事件之后没有改变(这就是我想要的)并且看起来像这样 https://localhost:5002/CharacterAndItems/Index 但在第二个它改变了https://localhost:5002/CharacterAndItems/GetCharacter
我不知道是什么导致了这个问题。这是我的控制器代码:
[HttpPost]
public async Task<IActionResult> GetCharacter([FromForm] CharacterFindViewModel characterFindModel)
{
var character = await _characterSerivce.GetCharacterByNameAsync(characterFindModel.CharacterName);
var item = await _itemSerivce.GetItemNameReturnItem(characterFindModel.ItemName, character);
model = new CharacterWithItemViewModel { character = character, item = item };
return PartialView("_CharacterPartial", model);
}
部分查看代码:
@model App.ViewModels.CharacterWithItemViewModel
<div class="row form-group" style="margin-top:15px">
<div class="col-md-6">
<div class="text-right">
<div>
<div class="text-left align-top">
Name: @Model.character.CharName CharacterId: @Model.character.ObjId ItemId: @Model.item.ItemId
<div id="Test">
Count: @Model.item.Count
</div>
</div>
</div>
</div>
</div>
<div class="col-md-6 text-right">
<form asp-controller="CharacterAndItems" asp-action="AddItems"
data-ajax="true" data-ajax-method="post"
data-ajax-mode="replace" data-ajax-update="#Test">
<input type="hidden" name="characterId" value="@Model.character.ObjId" />
<input type="hidden" name="itemId" value="@Model.item.ItemId" />
<input class="form" placeholder="Item quantity" name="count" style="text-align:center" />
<input type="submit" value="Add items" name="add" class="btn btn-primary" />
<input type="submit" value="Delete items" name="delete" class="btn btn-danger" />
</form>
</div>
</div>
@section Scripts {
<script>
$.ajax({
url: '/CharacterAndItems/AddItems',
type = 'POST',
data: JSON.stringify(@Model)
})
var results = $("#Results");
</script>
}
【问题讨论】:
标签: c# asp.net-mvc .net-core asp.net-core-mvc