Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript函数参数在ajax调用中不可用_Javascript_Asp.net_Ajax_Asp.net Mvc 3 - Fatal编程技术网

Javascript函数参数在ajax调用中不可用

Javascript函数参数在ajax调用中不可用,javascript,asp.net,ajax,asp.net-mvc-3,Javascript,Asp.net,Ajax,Asp.net Mvc 3,我正在处理一个HTML页面,在该页面中,单击一个按钮,我将调用一个javascript函数。该函数有一个来自html字段的参数。我必须根据输入参数加载另一个html页面(其asp.NETMVC3) 在html页面中: <input type="radio" id="selected" name="selected" onclick="javascript:handleselect(this);" value=@item.ProjectID /> 在相同的代码中,

我正在处理一个HTML页面,在该页面中,单击一个按钮,我将调用一个javascript函数。该函数有一个来自html字段的参数。我必须根据输入参数加载另一个html页面(其asp.NETMVC3)

在html页面中:

        <input type="radio" id="selected" name="selected" onclick="javascript:handleselect(this);" value=@item.ProjectID />

在相同的代码中,我有javascript

<script type="text/javascript" language="javascript"> 
    function handleselect(myRadio) {      
         $.get('@Url.Action("Details", "ProjList", new { id = myRadio.value })', 
         async: false,
         function (viewResult) {
             $("#some-container").html(viewResult);
             alert(viewResult);
         });
     });

</script>

功能手柄选择(myRadio){
$.get('@Url.Action(“Details”,“ProjList”,new{id=myRadio.value})'),
async:false,
函数(查看结果){
$(“#某个容器”).html(viewResult);
警报(查看结果);
});
});
这是我的示例脚本。但是,我得到了一个错误,比如“名称‘myRadio’在当前上下文中不存在”

HTML代码

我试着寻找所有可能的解决办法。有人能帮我吗

问候。
Hari

使用这个-
'@Url.Action(“详细信息”,“项目列表”,新的{id=myRadio.value})

或者,如果需要使用值标记的值,请使用此Javascript语句-

'@Url.Action("Details", "ProjList", new { id = '+myRadio.getAttribute("value")+'})'
编辑:

    function handleselect(myRadio) { 
var url = @Url.Action("Details", "ProjList", new { id = myRadio.getAttribute("value")});     
         $.get(url, 
         async: false,
         function (viewResult) {
             $("#some-container").html(viewResult);
             alert(viewResult);
         });
     });

然后-

那么您的函数如下

 function handleselect(myRadio) {      
      $.get('@Url.Action("Details", "ProjList")', { 
         id: $(myRadio).val() 
      },
      function (viewResult) {
          $("#some-container").html(viewResult);
          alert(viewResult);
      });
  });


myRadio
是客户端变量,在服务器端不可用

function handleselect(myRadio) {
    $.get('@Url.Action("Details", "ProjList")', { 
        id: myRadio.value 
    }, function (viewResult) {
              $("#some-container").html(viewResult);
              alert(viewResult);
          });
}); 

razor引擎解释urlhelper,不知道您的客户端代码。这就是为什么您不能将变量与
Url.Action
一起使用。您可以尝试以下方法:

$.get('@Url.Action("Details", "ProjList")?id=' + myRadio.value, 
    function (viewResult) {
        $("#some-container").html(viewResult);
        alert(viewResult);
    });
或者另一个选项是使用数据参数:

$.get('@Url.Action("Details", "ProjList")', { id: myRadio.value}, 
        function (viewResult) {
            $("#some-container").html(viewResult);
            alert(viewResult);
        });

如果你只是想知道单选按钮的值,就这样试试吧

<input type="radio" id="selected" name="selected" onclick="javascript:handleselect(this.value);" value=@item.ProjectID />
<input type="radio" id="selected" name="selected" onclick="javascript:handleselect(@item.ProjectID);" value=@item.ProjectID />

还是像这样

<input type="radio" id="selected" name="selected" onclick="javascript:handleselect(this.value);" value=@item.ProjectID />
<input type="radio" id="selected" name="selected" onclick="javascript:handleselect(@item.ProjectID);" value=@item.ProjectID />

在函数中,直接使用这个值

<script type="text/javascript" language="javascript"> 
    function handleselect(myRadioValue) {      
         $.get('@Url.Action("Details", "ProjList", new { id ='+myRadioValue+'})'), 
         async: false,
         function (viewResult) {
             $("#some-container").html(viewResult);
             alert(viewResult);
         });
     });

</script>

函数handleselect(myRadioValue){
$.get('@Url.Action(“详细信息”,“项目列表”,新的{id='+myRadioValue+'}')),
async:false,
函数(查看结果){
$(“#某个容器”).html(viewResult);
警报(查看结果);
});
});


显示定义myRadio的代码myRadio.value不需要在字符串之外?如果执行alert(myRadio.value),您会得到什么;在此函数的第一行中?我得到了正确的值。只有在其内部时才得到结果。是否需要标记中html属性值的值?我需要该值,因为我正在动态更改该值。您好,感谢您的响应。现在,我在html代码中得到一个错误:“Microsoft JScript运行时错误:预期对象。”“。我遗漏了什么吗?这意味着你需要@item.projectd?嗨,谢谢你的回复。现在,我在HTML代码中得到一个错误:“MicrosoftJScript运行时错误:预期对象”。我错过什么了吗?你怎么称呼
handleselect
?请编辑您的问题并在那里添加相关代码。啊,等等,我认为您的代码根本不会运行。
async:false
不是
$的有效参数。get
。已尝试删除assync:false行。它仍然会给出与“Microsoft JScript运行时错误:预期对象”相同的错误。您是否使用firebug之类的工具查看错误指向您的位置?您好,感谢您的回复。现在,我在HTML代码中得到一个错误:“MicrosoftJScript运行时错误:预期对象”。我错过了什么吗?@HariprasauthRamamoorthy你能分享一下
handleselect
叫什么吗?谢谢你的回复。现在,我在HTML代码中得到一个错误:“MicrosoftJScript运行时错误:预期对象”。我错过了什么吗?@Hariprasauth Ramamoorthy:做一个警报$(myRadio).val(),你得到了什么。第二,控制台是否有任何错误?现在工作正常!!!!!!!:)非常感谢。。这是因为缺少一个括号!对我不好!