这是我的方法:
$(document).ready(function () {
$('td.clickableCell').click(function () {
var currentObject = null;
currentObject = $(this).text();
@Html.ActionLink("GetThis", "Get", new {theName = currentObject} )
});
});
但是它说currentObject在当前上下文中不存在。如何解决呢?
最佳答案
代替@Html.ActionLink
,您应该使用jQuery.get函数。 @ Html.ActionLink在服务器上运行,而javascript在客户端上运行。
$(document).ready(function () {
$('td.clickableCell').click(function () {
var currentObject = $(this).text();
$.get('@Url.Action("GetThis", "Get")', {theName : currentObject});
});
});
Url.Action
在服务器上呈现,并将为您提供适当的URL。 $.get
将在客户端上运行get
请求。请记住,如果此javascript位于
.js
文件中,则将不会运行Url.Action
。在这种情况下,您可能只想将其替换为/Get/GetThis
或在页面上的隐藏字段中呈现url,并在.js
文件中获取隐藏字段的值。您需要一个如下所示的操作方法才能访问参数:
public ActionResult GetThis(string theName)
{
// manipulate theName
return View();
}
关于c# - jQuery中的ActionLink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8824075/