如何使用knockout js指定name属性

Mik*_*keW 18 c# asp.net-mvc-3 knockout.js

我有一个使用knockoutjs/mvc3的绑定列表

<div data-bind="foreach: phones">
   <input data-bind='value: number' />
</div>
Run Code Online (Sandbox Code Playgroud)

把它发送到我的控制器动作是

[HttpPost]
public ActionResult Index([Deserialize] WizardModel wizard, IStepViewModel step)
{
}
Run Code Online (Sandbox Code Playgroud)

以前我可以通过在输入上指定名称来使用Jquery绑定到我的List <T>

 <input name="Phones[0].Name"
              Phones[1].Number etc..
Run Code Online (Sandbox Code Playgroud)

但我现在正在使用淘汰赛,我不清楚这应该如何运作.任何人都指引我朝着正确的方向前进.

Joe*_*ham 51

假设您的电话号码在可观察的阵列中,您可以使用模板中的attr绑定或foreach这样做.

<input data-bind='attr: { name: "Phones["+$index()+"].Name"}' />
Run Code Online (Sandbox Code Playgroud)

我还假设您正在使用最新版本的淘汰赛,因此您可以使用$ index.

这将允许您命名输入,以便它们与MVC模型绑定一起使用.