这是我的模型
public class AddressBook
{
public string UserId { get; set; }
public IList<Address> Addresses { get; set; }
public AddressBook()
{
UserId = "";
Addresses = new List<Address>();
}
}
public class Address
{
public string Company { get; set; }
public string Title { get; set; }
public string FName { get; set; }
...
}
控制器使用地址列表构建地址簿。主页使用 AddressBook 模型 (@model mymodel.AddressBook),我可以使用 Model.Addresses[index] 访问不同的地址。
在页面上,我显示了地址列表,每个地址都带有一个编辑按钮(为了清楚起见,我去掉了 html 代码):
@model mymodel.AddressBook
...
@for (int i = 0; i < Model.Addresses.Count; i++)
{
@Model.Addresses[i].Company
@Model.Addresses[i].FName
...
@:<input type="image" src="/images/edit.gif" onclick="addressEdit('@i'); return false;" title="Edit" />
}
当用户单击编辑按钮时,我调用 javascript addressEdit 并将所选地址的索引传递给它。
<script type="text/javascript">
function addressEdit(index) {
$('#FName').val('@Model.Addresses[index].FName');
$('#Addr1').val('@Model.Addresses[index].Company');
...
}
</script>
问题出在 jQuery 行 $('#FName').val('@Model.Addresses[index].FName'); 变量索引在 VS2012 中以红色下划线显示,消息“当前上下文中不存在名称‘索引’”。
你如何传递“索引”上的值来提取我需要的数据?