gpt4 book ai didi

c# - ASP.NET MVC 多个开始形式?

转载 作者:行者123 更新时间:2023-11-30 15:46:17 25 4
gpt4 key购买 nike

您好,我正在使用多个开始表单。我不确定这是否是个好主意。这是我的代码。

<% using (Html.BeginForm("TagManagement", "InternalTag",FormMethod.Post))
{%>
<%: Html.AntiForgeryToken() %>

<table>
<tr>
<td><%:Html.Label("Type") %></td>
<td style="text-align:left"><%:Html.DropDownList("ObjectType",ViewData["TagObjects"] as IEnumerable<SelectListItem>)%></td>
</tr>
<tr>
<td><%:Html.Label("Search ID")%></td>
<td style="text-align:left"><%:Html.TextBox("ObjectID2")%></td>
</tr>
<tr>
<td></td>
<td><input id="Search" type="submit" value="Search" />&nbsp;&nbsp;&nbsp;<input id="Create" type="button" value="Add to New Tag" onclick="AddTagElements()" /></td>
</tr>
</table>
<br />

<% } %>

<% using (Html.BeginForm("CreateTag","InternalTag",FormMethod.Post)) { %>
<%: Html.AntiForgeryToken() %>
<div id="AddTag">
<input id='SaveTag' type='submit' value='Save' style='width: 125px' />
</div>
<% } %>

路由代码

"Tags/{controller}/{action}/{id}/{type}",
new { action = "Index", id = UrlParameter.Optional, type = UrlParameter.Optional }

我的 Controller 方法:

public ActionResult TagManagement(FormCollection FC,Guid? ID,InternalTagRef_Types? Type)
public ActionResult CreateTag(FormCollection FC, Guid ID, InternalTagRef_Types Type)

当我点击搜索 TagManagement Actions 参数时,参数得到正确填充。当我单击 SaveTag 时,它会尝试调用 CreateTag 操作但不能,因为它缺少 ID 和类型。我收到错误参数字典包含不可为空类型“System.Guid”的参数“ID”的空条目。它应该从 URL 中获取这些值,即 http://localhost:1338/Tags/InternalTag/TagManagement/D104EBF5-470B-4FAA-9FC7-5391922CCE94/Projects像标签管理。请帮忙。

最佳答案

您的第二个表单不包含任何输入字段(提交按钮除外),因此当提交表单时,不会向服务器发送任何内容,也不会绑定(bind) Controller 操作。因此,您需要像在第一个表单中那样包含文本字段或隐藏字段。


更新:

您冷在生成的操作中包含路由参数:

<% using (Html.BeginForm(
"CreateTag", "InternalTag",
new { id = RouteData.Values["id"], type = RouteData.Values["type"] },
FormMethod.Post)) { %>
<%: Html.AntiForgeryToken() %>
<div id="AddTag">
<input id='SaveTag' type='submit' value='Save' style='width: 125px' />
</div>
<% } %>

关于c# - ASP.NET MVC 多个开始形式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4438000/

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