我发布了一个非常简单的表单,使用了我过go 经常使用的方法.显示代码可能比键入冗长的解释更容易.以下是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();%>

以下是控制器代码:

[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());
}

Submit按钮发布表单,并调用该方法,但在我的参数中定义的Form对象为空.我也试过Request.Form和我得到了相同的结果.我是不是错过了什么?

推荐答案

所有输入都没有name属性.No name=不在FormCollection中.

Asp.net相关问答推荐

页面刷新后如何存储JS Select 数据

内容根路径在 .NET 6 中如何工作?

分层架构中的 ASP.NET 和实体框架 - 仅将实体框架用于 ORM

如何将 viewbag 显示为 html?

在哪里可以记录 ASP.NET Core 应用程序的启动/停止/错误事件?

在构建时自动停止/重新启动 ASP.NET 开发服务器

__doPostBack 未定义

System.Web.HttpContext 无法识别

如何从 URI 中删除 PROTOCOL

VirtualPath 在当前应用程序根目录之外

Asp.net Identity 密码哈希

存在 ios 7 虚拟键盘时,div 元素不会停留在底部

IIS 会话超时与 ASP.NET 会话超时

在 Android/Java 和 C# 中计算 SHA256 哈希

如何防止 XXE 攻击(.NET 中的 XmlDocument)

Windows Azure PaaS(网络角色)的真正替代品?

在 ASP.NET 中使用 MasterPages 时使用 JQuery 的正确方法?

如何将列表转换为数据表

协调 ASP.NET 脚本包和源映射

我可以在加载事件时从 C# 的 div 标记中动态添加 HTML 吗?