在Razor视图中,我有input type="text"
,隐藏字段和按钮。我可以从Form集合中访问隐藏字段,但奇怪的是我无法在我的操作中访问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">
}
我非常感谢您的时间,指导和帮助。
答案 0 :(得分:2)
隐藏输入的工作原理是您在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中。
答案 1 :(得分:1)
试试这种方式
按钮
不需要onclick="@Url.Action("ExchangeRateDetails", "ExchangeRate")"
按以下方式更改按钮
<button type="submit" class="btn btn-lg span2 ARML50px">
现在您的控制器可以获取输入文本
[HttpPost]
Public ActionResult ExchangeRateDetails(YourmodelClass xxx)
{
string dates=Model.StartDate;
}
本网站有how to send a model values from view to controllers的很多很多答案,请参阅本页右上角的相关讨论。