无法在表单提交时获取输入类型=“文本”值
本文关键字:文本 类型 输入 表单提交 获取 | 更新日期: 2023-09-27 18:36:53
在剃刀视图中,我有input type="text"
,一个隐藏字段和一个按钮。我可以从表单集合访问隐藏字段,但奇怪的是我无法访问input type="text"
操作中的值。我不确定我的理解是否正确,但我在想,因为表单中的所有字段都应该在操作中可用。
以下是我的代码:
@using (Html.BeginForm())
{
<div style="margin-top: 40px;">
<input id="txtDateFrom" class="span2" size="16" value="@Model.StartDate.ToString("dd/MM/yyyy") " readonly="readonly" type="text">
@Html.Hidden("currencyCode", (object)ViewBag.currencyCode)
</div>
<button onclick="@Url.Action("ExchangeRateDetails", "ExchangeRate")" class="btn btn-lg span2 ARML50px">
}
我非常感谢您的时间,指导和帮助。
隐藏输入起作用的原因是您在 Html 帮助程序 @Html.Hidden 的帮助下呈现它。此帮助程序使用 name 属性呈现输入字段。
您的<input type="text">
缺少名称属性。所以试着这样写:
<input id="txtDateFrom" name="txtDateFrom" class="span2" size="16" value="@Model.StartDate.ToString("dd/MM/yyyy") " readonly="readonly" type="text" />
name="txtDateFrom" 将使该值显示在 FormCollection 中。
试试这种方式
您不需要onclick="@Url.Action("ExchangeRateDetails", "ExchangeRate")"
按钮
更改以下方式的按钮
<button type="submit" class="btn btn-lg span2 ARML50px">
现在您的控制器可以获取输入文本
[HttpPost]
Public ActionResult ExchangeRateDetails(YourmodelClass xxx)
{
string dates=Model.StartDate;
}
这个网站有很多关于如何将模型值从视图发送到控制器的答案,请参阅本页右上角的相关讨论。