当按钮点击显示文本(Display text when button clicked)

2019-10-18 01:34发布

创建我的第一个ASP.NET MVC淘汰赛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(模型)是其中显示了三个日期的主要部分。 我想只能说明当一个按钮被点击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:我想每个日期出现在文本框内单击该按钮时(而不是旁边的按钮时,页面加载 - 这是发生了什么大气压)。

有任何想法吗?

更新尝试添加一个按钮,但现在的日期不显示在所有,单击该按钮时也是如此。

视图:

@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; }
}

任何帮助或想法表示欢迎?

Answer 1:

也许你想这样的事情?

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

我不是特别熟悉淘汰赛JS但现在看来,返回值ko.Apply(Model)是一帮JS来填充你的领域。 如果你想在你的按钮,点击运行它,你会希望以上。 现在,你写了JS的加载到你的输入标签,这是刚刚打破。



Answer 2:

输入标签可以在这里使用的一样 在onclick事件ü可以给模型的名字也试试这个...



文章来源: Display text when button clicked