我正在使用MVC3,ASP.NET 4.5,C#,Razor。
我已经成功地从我的主页面上运行了Ajax.ActionLink,其中包含一个表和记录,每个表都包含一个链接。 Ajax.ActionLink“替换”元素内所有单元格中的记录。我使用局部视图来替换:
<td>col1</td><td>col2</td>
但是col1应该保留Ajax.Actionlink,因为它将再次被要求,所以我的部分视图应该是:
<td>@Ajax.ActionLink("Delete",...)</td><td>col2</td>
但我得到了
“无法解析符号ActionLink”
错误。
我在局部视图中缺少引用。我确实尝试过System.Web.MVC.Ajax,但这次失败了。
感谢您的帮助。
EDIT1:
似乎没有问题:
@Html.ActionLink(...)
EDIT2:
完整的ActionLink代码:
@Ajax.ActionLink("Delete",
"AjaxDelete",
"Order",
new {id = ViewBag.id},
new AjaxOptions {
UpdateTargetId = ViewBag.rowname,
InsertionMode = InsertionMode.Replace,
HttpMethod = "GET"
});
答案 0 :(得分:1)
错误消息具有误导性。编译器无法从动态属性创建匿名类型,因为它不知道它是什么类型。
向(int)
添加ViewBag.id
强制转换,以强制键入匿名字段。
同样对Viewbag.rowname
做同样的事情(字符串我假设?)
@Ajax.ActionLink("Delete",
"AjaxDelete",
"Order",
new {id = (int)ViewBag.id},
new AjaxOptions {
UpdateTargetId = (string)ViewBag.rowname,
InsertionMode = InsertionMode.Replace,
HttpMethod = "GET"
});