Ich habe Radio Buttons in meiner Sicht dynamisch erstellt und ich versuche, den überprüften Wert an meinen Controller zu übergeben. Wenn mein Controller gedrückt wird, ist die Agentcode-Zeichenfolge leer und ich kann nicht herausfinden, wie der Wert abgerufen werden soll, damit ich ihn an meinen Controller senden kann.Get RadioButton Wert KnockoutJs
EDIT meine Radio-Tasten sind in einer foreach generiert, die ich denke, kann die Schwierigkeit beim Erreichen des Wertes verursachen. Diese
ist, was die html von der MVC-Steuerelement gerendert sieht aus wie
<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"}) }
meine Knockout Ansichtsmodell sieht wie folgt aus.
function ViewModel(){
var self = this;
self.AgentCode = ko.observable();
};
var viewModel = new ViewModel();
ko.applyBindings(viewModel);
und die post-Methode in meinem Controller sieht aus wie dies
[HttpPost]
public ActionResult GetAgentCodeForHomeController(string AgentCode)
{
return RedirectToAction("Home", "Home");
}
Meine Ansicht i wie
@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>
ich weiß nicht viel über die Rasierersyntax für HTML in mvc, also würde es Ihnen etwas ausmachen, das HTML zu teilen, das gerendert wird? – gkb
@gkb Ich habe die gerenderten HTML enthalten –
können Sie 'data_bind' (Unterstrich) durch' data-bind' ersetzen (Strich) und dann versuchen? – gkb