【发布时间】:2013-04-11 14:36:53
【问题描述】:
创建我的第一个 ASP.NET MVC Knockout MVC。
我添加了一个模型设置 3 个日期。控制器分配 3 个日期。然后使用视图将它们显示在屏幕上:
<p>First Date: @ko.Html.TextBox(m => m.FirstDate)</p>
<p>Second Date: @ko.Html.TextBox(m => m.SecondDate)</p>
<p>Third Date: @ko.Html.TextBox(m => m.ThirdDate)</p>
@ko.Apply(Model)
@ko.Apply(Model) 是显示 3 个日期的主要部分。 我试图仅在单击按钮时显示 3 个日期,因此将代码放在表单中并使用按钮:
<form id="displaydates" method="post" >
<p>First Date: @ko.Html.TextBox(m => m.FirstDate)</p>
<p>Second Date: @ko.Html.TextBox(m => m.SecondDate)</p>
<p>Third Date: @ko.Html.TextBox(m => m.ThirdDate)</p>
<input id="btn" type="button" value="click" @ko.Apply(Model) />
</form>
问题是不再在文本框中显示日期,而是在按钮旁边显示日期。要recpa:我希望每个日期在单击按钮时出现在文本框中(而不是在页面加载时出现在按钮旁边 - 这就是 atm 发生的情况)。
有什么想法吗?
更新尝试添加一个按钮,但现在根本不显示日期,即使单击该按钮也是如此。
查看:
@using PerpetuumSoft.Knockout
@model KnockOutMVC3Dates.Models.DatesModel
@{
var ko = Html.CreateKnockoutContext();
}
<p>First Date: @ko.Html.TextBox(m => m.FirstDate)</p>
<p>Second Date: @ko.Html.TextBox(m => m.SecondDate)</p>
<p>Third Date: @ko.Html.TextBox(m => m.ThirdDate)</p>
@ko.Html.Button("Display","Index","Dates",null,null)
日期控制器:
public ActionResult Index()
{
return View
( new DatesModel
{
FirstDate = DateTime.Now,
SecondDate = DateTime.Now.AddYears(1).AddMonths(1),
ThirdDate = DateTime.Now.AddYears(2).AddMonths(2)
}
);
}
型号:
public class DatesModel
{
public DateTime FirstDate { get; set; }
public DateTime SecondDate { get; set; }
public DateTime ThirdDate { get; set; }
}
欢迎任何帮助或想法?
【问题讨论】:
标签: asp.net asp.net-mvc-3 knockout.js orchardcms-1.6 knockout-mvc