从javascript函数调用razor c#函数
我在一个文件中有一个html链接从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
<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> </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;