是否可以在不使用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的情况下完成吗?

是否可以在不使用ajax的情况下将jquery变量传递给MVC视图中的c#函数

您正试图将代码的服务器端执行与代码的客户端执行混合在一起。这里的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>