javascript函数中传递参数和接收参数的问题

javascript函数中传递参数和接收参数的问题,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我在我的项目中使用了一个动作链接按钮,还使用了一个Javascript函数。 它正在更新我的2部分视图,但当我运行我的项目时,它会给我一个错误 当前上下文中不存在名称“temp” <%= Ajax.ActionLink("Select", "Employee", new { Id = Employee.EmployeeID }, newAjaxOptions { UpdateTargetId = "Employee",HttpMethod="Post", OnS

我在我的项目中使用了一个动作链接按钮,还使用了一个Javascript函数。 它正在更新我的2部分视图,但当我运行我的项目时,它会给我一个错误

当前上下文中不存在名称“temp”

              <%= Ajax.ActionLink("Select", "Employee", new { Id = Employee.EmployeeID }, newAjaxOptions { UpdateTargetId = "Employee",HttpMethod="Post", OnSuccess = "EmployeeHistory('" + Employee.EmployeeID.ToString() + "')" })%>

及 让我调用的javascript函数如下

     <script language="javascript" type="text/javascript">
      function EmployeeHistory(EmployeeID) {
       $('#EmployeeInformation').load('<%= Url.Action("EmployeeInformation", "Home",new { Id=EmployeeID}) %>');
       }

       function success(result){
       $("#EmployeeInformation").html(result);

函数EmployeeHistory(EmployeeID){
$(“#员工信息”).load(“”);
}
功能成功(结果){
$(“#员工信息”).html(结果);

您不能像这样将服务器端代码与javascript混合使用(
Url.Action
在服务器上运行,而
EmployeeID
是一个javascript变量):

但老实说,我会将jQuery与标准的
Html.ActionLink
helper一起使用,并以低调的方式进行操作:

<%= Html.ActionLink(
    "Select", 
    "Employee", 
    new RouteValueDictionary(new { id = Employee.EmployeeID }),
    new Dictionary<string, object> { 
        { "id", "selectEmployee" }, 
        { "data-id", Employee.EmployeeID } 
    }
) %>

然后我会悄悄地把它说成Ajaxi:

<script type="text/javascript">
    $(function() {
        $('#selectEmployee').click(function() {
            var link = $(this);
            $.post(this.href, function(result) {
                $('#Employee').html(result);
                var url = '<%= Url.Action("EmployeeInformation", "Home") %>';
                $('#EmployeeInformation').load(url, { id: link.data('id') });
            });
            return false;
        });
    });
</script>

$(函数(){
$('#选择Employee')。单击(函数(){
var-link=$(这个);
$.post(this.href,函数(结果){
$('#Employee').html(结果);
var url='';
$('#EmployeeInformation').load(url,{id:link.data('id')});
});
返回false;
});
});

我认为他希望employeeid来自js函数EmployeeHistory(employeeid)的签名,并且在通过ajax选项传递此参数时遇到问题
OnSuccess = "function() { EmployeeHistory('" + Employee.EmployeeID.ToString() + "'); }"
<%= Html.ActionLink(
    "Select", 
    "Employee", 
    new RouteValueDictionary(new { id = Employee.EmployeeID }),
    new Dictionary<string, object> { 
        { "id", "selectEmployee" }, 
        { "data-id", Employee.EmployeeID } 
    }
) %>
<script type="text/javascript">
    $(function() {
        $('#selectEmployee').click(function() {
            var link = $(this);
            $.post(this.href, function(result) {
                $('#Employee').html(result);
                var url = '<%= Url.Action("EmployeeInformation", "Home") %>';
                $('#EmployeeInformation').load(url, { id: link.data('id') });
            });
            return false;
        });
    });
</script>