-3

嘿,大家好,在通过 java 脚本动态创建所有内容后,我想将单个特定值传输到我的 c# 代码中……我不想要所有内容……我已经在代码中写了我想要进入的变量我的 C# 代码。

<script>      
    var test="i want this variable into my c#";
    var only for javascript="i don't want this to be travel when i click on submit button";

    var s = document.createElement("input"); //input element, Submit button
    s.setAttribute('type', "submit");
    s.setAttribute('value', "submit");
</script>
4

1 回答 1

0

要将客户端变量“放入 c#”,您需要将其作为对运行 c# 的服务器的请求的一部分。这可以像将其附加到 URL 一样简单,或者您可以创建一个新字段,或者您可以填充现有字段并发送它。

// a variable
var test = "a value to be sent to the server";

// put the value into a hidden field
document.getElementById("hdnValue").value = test;

// submit the form containing the hidden field
document.getElementById("form1").submit();

由于我们在谈论 c#,我假设服务器是 ASP.Net,无论是 Web 表单还是 MVC。对于 MVC,确保有一个带有相应参数的控制器方法。对于 Web 表单,您可以包括<input type="hidden" runat="server" clientidmode="static" id="hdnValue" />. 然后页面将可以在后面的代码中访问该值。

我想将一个特定的值带入我的 c# 代码中......我不想要一切

向服务器发送单个值的另一种(可能更优雅)的方法是使用 AJAX 异步 POST 值。我建议使用jQuery来简化此操作,但也可以使用纯 JavaScript 来完成。

这是一个 AJAX 帖子的 jQuery 示例:

$.ajax({
    url: "http://yourserverurl/",
    type: "POST",
    data: { test: "a value to be sent to the server" },
    success: function(data){
        // an optional javascript function to call when the operation completes successfully
    }
});
于 2012-09-08T01:36:06.323 回答