gpt4 book ai didi

c# - 使用 MVC Futures 在模型中传递 FormAction

转载 作者:太空宇宙 更新时间:2023-11-03 15:27:02 25 4
gpt4 key购买 nike

对于 3 个不同的 Controller ,我有一个或多或少完全相同的 View 。唯一的区别是他们张贴表格的地方。所有这些 Controller 都派生自相同的基类,并且 View 包含一个表单,该表单将发布到该基类中的一个操作。

我的 View 目前看起来像这样:

@model Models.Forms.ContactPersonForm
@{
Layout = null;
}
<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">Edit contact person</h4>
</div>
@using (Html.BeginForm<ProductsController>(x => x.EditContactPerson(null), FormMethod.Post))
{
<div class="modal-body">
@Html.EditorForModel()
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">
<span class="fa fa-times" area-hidden="true"></span> Close
</button>
<button type="submit" class="btn btn-primary">
<span class="fa fa-floppy-o" area-hidden="true"></span> Save
</button>
</div>
}

上面的 View 工作正常。但我想将它重新用于另一个 Controller ,该 Controller 也继承了相同的基本 Controller (并发布到 EditContactPerson 操作)。因此我想在模型中指定要发布到哪个 Controller 。我知道我可以使用 string overload因此:

@Html.BeginForm("EditContactPerson", "Products", FormMethod.Post)

@Html.BeginForm(Model.Action, Model.Controller, FormMethod.Post)

但我真的很想用 Expression相反,像这样:

@Html.BeginForm<ProductsController>(x => x.EditContactPerson(null), FormMethod.Post)

有没有一种方法可以使用模型来使用模型中的表达式呈现表单?

类似于:

@Html.BeginForm<Model.ControllerType>(Model.ActionExpression, FormMethod.Post)

最佳答案

像这样的东西怎么样:

@model Models.Forms.ContactPersonForm
@{
Layout = null;
}
<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">Edit contact person</h4>
</div>
@if (Model.XYZ == "...")
{
using (Html.BeginForm<ProductsController>(x => x.FirstAction(null), FormMethod.Post))
{
Html.RenderPartial("FormContentPartialView");
}
}
else
{
using (Html.BeginForm<ProductsController>(x => x.SecondAction(null), FormMethod.Post))
{
Html.RenderPartial("FormContentPartialView");
}
}

关于c# - 使用 MVC Futures 在模型中传递 FormAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34870670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com