是否可以在不使用ajax的情况下将jquery变量传递给MVC视图中的c#函数
本文关键字:变量 MVC 函数 视图 jquery 情况下 ajax 是否 | 更新日期: 2023-09-27 17:58:53
我有一个MVC视图,如下所示:
@{ Func<int, int, int> function = (a, b) => a + b; }
<script type="text/javascript">
$(document).ready(function () {
var answer = @(function(1,2));
$("#answer").html(answer);
});
</script>
<div id="answerswer"></div>
我想将jquery变量传递给函数,而不是文本1和2。这可以在不使用ajax的情况下完成吗?
您正试图将代码的服务器端执行与代码的客户端执行混合在一起。这里的C#
代码是服务器端的,将在页面呈现时执行。JavaScript是客户端代码,并且比服务器端代码触发的时间要晚得多。简而言之,不,你不能做到这一点。
事实上,正是出于这个原因,AJAX被发明了——在文档加载后在客户端执行服务器端代码。:)
当你说"不使用ajax"时,我有点字面意思。。。
您可以有一个隐藏的字段,然后让JavaScript填充该字段,然后提交表单。因此,这将是服务器上的常规POST/GET(无ajax)
<script type="text/javascript">
$(document).ready(function () {
var answer = @(function(1,2));
$("#answer").val(answer);
$("#myAutoForm").submit();
});
</script>
<form id="myAutoForm" action="....">
<input type="hidden" id="answerswer" value="">
</form>