我正在尝试将 StockDate 的值发送到 Controller 方法。我越来越空了。 http://knockoutmvc.com/ParametersToServer
按照上面的链接,如果我像下面那样传递静态值。我可以获得值,但是当我使用 Model.Property 时,我总是得到 Null。
@ko.Html.Button("Inc 3", "Increment", "ParametersToServer", new { value = 3 })
代码如下..
查看代码-
@using PerpetuumSoft.Knockout
@model OpManWeb.ViewModel.Inventory.TransactionHistory
@{
var ko = Html.CreateKnockoutContext();
}
@{
ViewBag.Title = "Add Stock";
}
<script src="~/Scripts/perpetuum.knockout.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
@using (ko.Html.Form("SaveStock", "Inventory"))
{
<div class="row">
<div class="col-md-3 col-lg-3 clmargin">
<div class="form-group col-md-4 zeropadding div2adjustments">
@Html.LabelFor(m => m.StockDate, new { @class = "fieldtext" })
</div>
<div class="col-md-8 div2adjustments">
@ko.Html.TextBox(m => m.StockDate, new { @class = "form-control input-sm fieldtextinput ",
@id="stockdatepicker" })
</div>
</div>
</div>
@ko.Html.Button("Cancel", "sample1", "Inventory", new { value = Model.StockDate}, new { @class = "btn btn- primary maxheightbtn col-md-12", @id = "btn" })
}
模型代码-
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace OpManWeb.ViewModel.Inventory
{
public class TransactionHistory
{
[DisplayName("Stock Date")]
public string StockDate
{
get;
set;
}
}
}
Controller 代码-
public ActionResult sample1(string value)
{
return Json(value);
}
对于 Controller 中的字符串值,我总是得到 null .. 任何人都可以面对这样的问题..? 帮助..!! 提前致谢..!!
最佳答案
您只能使用@ko.Html.Button
发送回额外的static 参数。
但是,您可以通过向 Controller 操作添加 model
参数来获取整个客户端模型对象(这始终由 K-MVC 发送)。
因此,您可以将 Controller 操作修改为:
public ActionResult sample1(TransactionHistory model)
{
return Json(model.StockDate);
}
关于c# - 如何使用@Ko.Html.Button 将模型属性值发送到 K-MVC 中的 Controller 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28742465/