在Razor视图中,我有一个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">
}我非常感谢你的时间、指导和帮助。
发布于 2013-10-25 06:03:04
隐藏输入工作的原因是您在helper @Html.Hidden的帮助下呈现该输入。此助手使用name属性呈现输入字段。
您的<input type="text">缺少了name属性。所以试着像这样写:
<input id="txtDateFrom" name="txtDateFrom" class="span2" size="16" value="@Model.StartDate.ToString("dd/MM/yyyy") " readonly="readonly" type="text" />name="txtDateFrom“将使值出现在您的FormCollection中。
发布于 2013-10-25 05:33:29
试试这边
你不需要onclick="@Url.Action("ExchangeRateDetails", "ExchangeRate")"的按钮
按下面的方式更改按钮
<button type="submit" class="btn btn-lg span2 ARML50px">现在您的控制器可以获得输入文本。
[HttpPost]
Public ActionResult ExchangeRateDetails(YourmodelClass xxx)
{
string dates=Model.StartDate;
}本网站有很多关于如何将模型值从视图发送到控制器的答案,请参阅此页面右角的相关讨论。
https://stackoverflow.com/questions/19581746
复制相似问题