【发布时间】:2009-09-02 21:27:56
【问题描述】:
我的控制器中有以下操作:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int id, FormCollection formCollection)
{
// do stuff with form collection
}
这很好用。我的问题是,当我使用视图模型对象(比如 MyFormViewModel)时,没有属性包含任何表单详细信息。例如有一个名为 MyName 的属性
在我的表单中,我有一个带有 name="MyName" 的文本输入字段
上面的 formCollection 对象包含一个具有正确值的 MyName 条目
但如果我将上面的代码更改为:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int id, String MyName)
{
}
那么我的名字是空的。
有人知道为什么会这样吗?
编辑:aspx 文件是:
<form action="/mycontroller/edit" method="post" id="myControllerForm" enctype="multipart/form-data">
<fieldset>
<div class="forms">
<div class="row">
<label> Name: </label>
<span class="input_wrapper">
<%= Html.TextBox("MyName", Model.MyName, new { @class = "text" }) %>
</span>
</div>
<div class="row">
<input name="" type="submit" />
</div>
</div>
</fieldset>
</form>
【问题讨论】:
-
您能否发布您的 FormCollection 类的代码并发布您的 aspx 文件。 sting 值为 null 似乎有点奇怪。
-
在上面添加了 aspx 文件 - 为格式化道歉
-
根据您发布的代码,这确实有效...您能解决问题吗?
标签: asp.net-mvc