在我的visual studio 2015 mvc web应用程序中,我需要创建(追加)成功的Ajax返回数据,并将它们追加到一个webgrid中,但以下代码无法编译,var html中的dataval (id = dataval.id)的代码无法识别(编译)。
有谁知道怎么让它工作吗?基本上,我需要使用从ajax调用返回的其他数据来创建这些Html.ActionLink。
$.each(response, function (j, dataval) {
var html='@Html.Raw(HttpUtility.HtmlDecode(Html.ActionLink("Edit", "Edit", new { id = dataval.id }).ToHtmlString()))';
html+='@Html.Raw(HttpUtility.HtmlDecode(Html.ActionLink("create", "Create", new { id = dataval.id }).ToHtmlString()))';
html+='@Html.Raw(HttpUtility.HtmlDecode(Html.ActionLink("Invoice", "Invoice", new { id = dataval.id }).ToHtmlString()))';
html+='@Html.Raw(HttpUtility.HtmlDecode(Html.ActionLink("Delete", "Delete", new { id = dataval.id }).ToHtmlString()))';
$("#GridProductIndex").append('<tr><td>' + dataval.Prod_Name + '</td> + <td>' + dataval.Prod_Type + '</td> +<td>' + dataval.Prod_Status + '</td><td>' +
html + '</td></tr>');
});
添加了更多,这是我想要附加上述数据的webgrid:
grid.Columns(
grid.Column(columnName: "Prod_Name", header: "Product Name"),
grid.Column(columnName: "Prod_Type", header: "Type"),
grid.Column(columnName: "Prod_Status", header: "Status"),
grid.Column(header: "Actions", format: (item) =>
new HtmlString(
Html.ActionLink("Edit", "Edit", new { id = item.ID }).ToString() + " | " +
Html.ActionLink("create", "Create", new { id = item.ID }).ToString() + " | " +
Html.ActionLink("Invoice", "Invoice", new { id = item.ID }).ToString() + " | " +
Html.ActionLink("Delete", "Delete", new { id = item.ID }).ToString()
), style: "Action"
)
发布于 2018-08-21 04:15:49
经过一些调查和搜索,下面是解决方案:
var html = '<a href="@Url.Action("Edit")?id='+ dataval.id + '">Edit</a>';
从这里可以找到解决方案:https://forums.asp.net/t/1977920.aspx?Create+ActionLink+by+jQuery
发布于 2018-08-18 20:17:53
在包含在单引号中的字符串中使用单引号=>在.append(...)
行中使用双引号可能会有问题
https://stackoverflow.com/questions/51908547
复制相似问题