Form-
@using IEnumerable<Myapplication.Models.CardModel>
@foreach(var item in Model)
{
<form method="post" action="/Upload/EditCard/[email protected] /cdn-cgi/l/email-protection" enctype="multipart/form-data">
<h3>
Change Title-
</h3>
<div class="display-field">
@Html.HiddenFor(m => item.cardTitle)
@Html.TextBoxFor(cardTitle => item.cardTitle)
</div>
<img src="@item.cardFilePath" />
<input type="submit">
</form>
}
Method-[http邮报]
public void EditCard(CardModel card, HttpPostedFileBase file) {}
我在表单中通过此表单发送值,并且cardID
在表单的 url 参数中发送。
对于其他值,例如cardTitle
即将为空EditCard
方法。
如何使用中继器获取该值?
然而,当数据不IEnumerable
type ,然后我可以直接通过表单发送值-
@using Myapplication.Models.CardModel
<form method="post" action="/Upload/EditCard/[email protected] /cdn-cgi/l/email-protection" enctype="multipart/form-data">
<h3>
Change Title-
</h3>
<div class="display-field">
@Html.HiddenFor(m => m.cardTitle)
@Html.TextBoxFor(m=> m.cardTitle)
</div>
<img src="@Model.cardFilePath" />
<input type="submit">
</form>
}
但如果中继器值不存在于方法中。一旦我更改标题或其他任何值,这些值就会变旧。
从图片来看——
和服务器代码-
从第一张图片可以看出,表单可编辑列表中的一条记录。一旦我改变了一些东西,即标题为 --> 2nd Upload
to 2nd Uploadsssss
那么该值在服务器端为空。我的意思是这个表格不发送它的值。
Note-
不过我可以通过参数发送 URL 中的值。但如果我确实改变了诸如标题或aboutCard
模型值。表单仅发送呈现表单时默认出现的那些值。