gpt4 book ai didi

c# - ASP.NET-MVC 中表单发布时的 FormCollection 为空

转载 作者:IT王子 更新时间:2023-10-29 04:10:07 26 4
gpt4 key购买 nike

我正在使用过去经常使用的方法发布一个非常简单的表单。显示我的代码可能比输入冗长的解释更容易。这是 HTML:

<% Html.BeginForm("CreateMarketingType", "ListMaintenance"); %>
<div id="ListMaintenanceContainer">
<table>
<tr>
<th>Marketing Type Id</th>
<th>Marketing Type Name</th>
</tr>
<%foreach (MarketingType marketingType in ViewData.Model.MarketingTypes) %>
<%{ %>
<tr>
<td><%= marketingType.MarketingTypeId.ToString() %></td>
<td><%= marketingType.MarketingTypeName %></td>
</tr>
<%} %>
</table>
<div>
<fieldset id="fsSaveNewMarketingType">
<legend>Add New Marketing Type</legend>
<label for="txtNewMarketingTypeName">New Marketing Type Name:</label>
<input type="text" id="txtNewMarketingTypeName" />
<input type="submit" value="Save" id="CreateMarketingType" />
</fieldset>
</div>
</div>
<% Html.EndForm();%>

这是 Controller 代码:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult CreateMarketingType(FormCollection form)
{
string newMarketingTypeName = Request.Form["txtNewMarketingTypeName"].ToString();

MarketingType newMarketingType = new MarketingType() { MarketingTypeName = newMarketingTypeName };

_marketingTypeRepository.AddNewMarketingType(newMarketingType);

return View("ListMaintenance", GetModel());
}

提交按钮发布了表单,调用了该方法,但我的参数中定义的表单对象为空。我也尝试过 Request.Form 并且得到了相同的结果。我在这里遗漏了什么吗?

最佳答案

您的输入都没有名称属性。没有名称 = 不在 FormCollection 中。

关于c# - ASP.NET-MVC 中表单发布时的 FormCollection 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/504681/

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