【问题标题】:Change BeginForm action based on viewdata in partialview?根据部分视图中的视图数据更改 BeginForm 操作?
【发布时间】:2013-03-17 14:13:10
【问题描述】:

我的部分视图在同一页面上存在多次。这已添加到视图中:

@Html.Partial("PersonalTagPartial", Model.PT, new ViewDataDictionary{{"TagTypeControl", 1}} )

@Html.Partial("PersonalTagPartial", Model.PT, new ViewDataDictionary{{"TagTypeControl", 0}} )

然后在部分视图中,我得到了一个这样的提交表单:

@using (Html.BeginForm("AddPersonalTag", "Post", FormMethod.Post, new { id = "frmAddPersonalTags" })){

当 TagTypeControl 设置为 0 时,如何将 AddPersonalTag 更改为 RemovePersonalTag?

【问题讨论】:

    标签: asp.net asp.net-mvc razor view partial-views


    【解决方案1】:

    试试这样:

    @using (Html.BeginForm((ViewBag.TagTypeControl == "1" ? "AddPersonalTag" : "RemovePersonalTag"), "Post", FormMethod.Post, new { id = "frmAddPersonalTags" }))
    {
        ...
    }
    

    但您也可以直接将动作名称传递给部分:

    @Html.Partial("PersonalTagPartial", Model.PT, new ViewDataDictionary { { "SubmitTo", "AddPersonalTag" } })
    @Html.Partial("PersonalTagPartial", Model.PT, new ViewDataDictionary { { "SubmitTo", "RemovePersonalTag" } })
    

    然后在局部:

    @using (Html.BeginForm(ViewBag.SubmitTo, "Post", FormMethod.Post, new { id = "frmAddPersonalTags" }))
    {
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 2020-07-30
      • 2017-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多