Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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函数调用razor c#函数_Javascript_C#_Asp.net_Razor - Fatal编程技术网

从javascript函数调用razor c#函数

从javascript函数调用razor c#函数,javascript,c#,asp.net,razor,Javascript,C#,Asp.net,Razor,我在一个文件中有一个html链接 <a href="#" onClick="xupdate('Home')" id="padlink">Home</a> 现在我在cshtml文件中有了一个c#函数(它读取文件并显示其信息): @helper fileRead(String file) { var dataFile = Server.MapPath(file); Array userData = File.ReadAllLi

我在一个文件中有一个html链接

<a href="#" onClick="xupdate('Home')" id="padlink">Home</a>
现在我在cshtml文件中有了一个c#函数(它读取文件并显示其信息):

@helper fileRead(String file) {
            var dataFile = Server.MapPath(file);
            Array userData = File.ReadAllLines(dataFile);
            foreach (string dataLine in userData) {
                foreach (string dataItem in dataLine.Split(',')) {
                    //dataItem <text>&nbsp;</text>
                    @Html.Raw(dataItem);
                 }
             }
}
@helper fileRead(字符串文件){
var dataFile=Server.MapPath(文件);
数组userData=File.ReadAllLines(数据文件);
foreach(userData中的字符串数据行){
foreach(dataLine.Split(',')中的字符串数据项){
//数据项
@Html.Raw(数据项);
}
}
}
我想从js xupdate()函数调用fileRead函数,并将字符串的值作为参数发送到fileRead中。有什么方法可以做到这一点吗

注意:我已经在cshtml文件中包含了html链接,我的函数工作得很好。另外,我知道调用c#函数时必须包含文件扩展名。

您不能直接从javascript调用c#函数,因为javascript在客户端执行,c#函数在服务器端执行

因此,您必须将其称为AJAX

在控制器中定义函数并通过AJAX调用调用它

使用AJAX:

var ret = null;
$.ajax({
   async: false,
   url: "YourFunctionName_in_Controller",
   dataType: "json",
   success: function (data) {ret = data;}
      });
return ret;
var ret = null;
$.ajax({
   async: false,
   url: "YourFunctionName_in_Controller",
   dataType: "json",
   success: function (data) {ret = data;}
      });
return ret;