【问题标题】:Display text when button clicked单击按钮时显示文本
【发布时间】: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


    【解决方案1】:

    也许你想要这样的东西?

    <input id="btn" type="button" value="click" onclick="@(ko.Apply(Model))" />
    

    我对 Knockout JS 不是特别熟悉,但似乎ko.Apply(Model) 的返回值是一堆用于填充您的字段的 JS。如果您想在单击按钮时运行它,您将需要上述内容。现在,您正在将大量 JS 写入您的输入标签,这简直是破坏。

    【讨论】:

    • 感谢您的回复,但效果相同。请参阅原始帖子以获取另一个更新。谢谢
    【解决方案2】:

    输入标签可以在这里使用,如 在 onclick 事件中,您还可以给出模型的名称 试试这个...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-30
      • 2017-09-22
      相关资源
      最近更新 更多