在asp.net mvc 5中,页面上有一个值,该用户已输入或通过javascript计算得出。我需要将其放在Html.BeginForm中的TO和FROM部分中。代码示例如下:
MyPage.cshtml
<input id="datepickerFrom" value="31/12/2017" title="datepicker" />
<input id="datepickerTo" value="30/06/2018" title="datepicker" />
@using (Html.BeginForm("ExportToExcel", "DashBoard", new inputDates { from = "", to = "" }, FormMethod.Post))
{
<input type="submit" value="Export to Excel" class="button" />
}
Controller.ActionName
public ActionResult ActionName(inputDates dates)
{
//some actions
return new HttpStatusCodeResult(555, "Everything is OK");
}
inputDates类
public class inputDates
{
public DateTime? from { get; set; }
public DateTime? to { get; set; }
}
我发现了很多使用Model的答案,但是我的值a不是来自model。我不知道如何从html元素或javascript值中获取值。
谢谢您的帮助。
答案 0 :(得分:0)
@model inputDates //do proper import of class here.
@using (Html.BeginForm("ExportToExcel", "DashBoard", FormMethod.Post))
{
@Html.TextBoxFor(m => m.from)
@Html.TextBoxFor(m => m.to)
<input type="submit" value="Export to Excel" class="button" />
}
这应该有效,只要看看MVC是否自动将文本转换为日期时间即可。我已经很长时间没有使用它了,所以我对此记忆犹新。 另外,请阅读有关MVC中的模型绑定的信息。
https://www.c-sharpcorner.com/UploadFile/4b0136/introduction-to-model-binding-in-Asp-Net-mvc/
https://odetocode.com/blogs/scott/archive/2009/04/27/6-tips-for-asp-net-mvc-model-binding.aspx