0
我在我的視圖中動態創建單選按鈕,我試圖將選中的值傳遞給我的控制器。當我的控制器被擊中Agentcode字符串是空的,我不知道如何獲取值,以便我可以將其發送到我的控制器。獲取RadioButton價值KnockoutJs
編輯我的單選按鈕生成在一個foreach,我認爲可能會導致難以達到的價值。
這是由MVC控制呈現的HTML是什麼樣子
<div>
<input name="XXXXX" type="radio" value="{ data_bind = checkedValue: $data,checked: $root.AgentCode }">
</div>
foreach (var code in Model.ActiveAgentCodes)
{
<div>
@Html.RadioButton(code.AgentCode, new { data_bind="checkedValue: $data,checked: $root.AgentCode"})
@Html.RadioButton(code.AgentCode, new {data_bind="checkedValue: $data,checked: $root.AgentCode"}) }
我擊倒視圖模型看起來是這樣的。
function ViewModel(){
var self = this;
self.AgentCode = ko.observable();
};
var viewModel = new ViewModel();
ko.applyBindings(viewModel);
,並在我的控制器POST方法看起來像這樣
[HttpPost]
public ActionResult GetAgentCodeForHomeController(string AgentCode)
{
return RedirectToAction("Home", "Home");
}
在我看來,我使用像這樣
@using (Html.BeginForm("GetAgentCodeForHomeController", "ChangeAccount"))
{
@Html.RadioButton(code.AgentCode, new {data_bind="checkedValue: $data,checked: $root.AgentCode"})
@Html.HiddenFor(model => model.AgentCode, new { data_bind = "text:AgentCode" })
}
<button type="submit">OK</button>
對mvc中html的剃刀語法不太瞭解,所以你會介意共享呈現的html嗎? – gkb
@gkb我已經包含了呈現的html –
你可以用'data-bind'(短劃線)替換'data_bind'(下劃線),然後嘗試嗎? – gkb