C# 数字不能放在整数中。”); 系统诊断跟踪写入线(例如消息); } }

C# 数字不能放在整数中。”); 系统诊断跟踪写入线(例如消息); } },c#,javascript,asp.net,C#,Javascript,Asp.net,下面是更新值的javascript: function update() { var tbl = document.getElementById('MainContent_tbl1'); var rows = tbl.getElementsByTagName('tr'); var routes = document.getElementsByName("route"); var mod;

下面是更新值的javascript:

    function update() {
            var tbl = document.getElementById('MainContent_tbl1');
            var rows = tbl.getElementsByTagName('tr');
            var routes = document.getElementsByName("route");
            var mod;
            //make call to c# func to have the database updated
            for (var i = 1; i < rows.length; i++) {
                mod = document.getElementById("rte" + i);
                //for testing
                if (i == 1 || i == 10) {
                    alert("rte" + i + ", " + mod.value);
                }
                //change value
                mod.value = routes[i - 1].value;
                //for testing
                if (i == 1 || i == 10) {
                    alert("rte" + i + ", " + mod.value);
                }
         }
函数更新(){
var tbl=document.getElementById('MainContent_tbl1');
var rows=tbl.getElementsByTagName('tr');
var routes=document.getElementsByName(“路由”);
var-mod;
//调用c#func更新数据库
对于(变量i=1;i
警报显示正确的值,但源中的值本身从未更改。非常感谢所有帮助,谢谢


我添加了if(!Page.IsPostBack)到page_init,所以现在值不会变回,但它返回为null。这将帮助您设置值。

这是在代码中动态添加和设置值时的问题。您需要为每个页面加载重新设置值。我不知道解决方案,但我有解决方法当情况需要的时候,你可以这样做

动态添加HTMLHiddenInput元素并检查页面源代码时,如下所示:-

检查隐藏字段的名称和id以及所有asp.net继承人权限和所有

现在,在你的代码后面的按钮点击功能中,你需要像这样阅读它

string sTest=Request.Form[“ctl00$MainContent$Test”];

您必须读取输入字段的name参数

在javascript中设置值时,使用以下命令:-

document.getElementById(“MainContent\u Test”).value=“5”

您可以使用输入字段的id参数

此外,如果(!IsPostBack)在页面加载中,您需要将代码包装在其中,这样值就不会被重置。一旦您在按钮单击中读取完值,您将再次需要动态添加隐藏字段,就像您在页面加载中所做的那样


这是一个肮脏的把戏。希望它对您有效,一个更好的解决方案将永远对您有所帮助。

您确定在引发单击事件的HTTP POST之前调用update吗?是的,确实如此,我还尝试在单击按钮之前运行update,但这并没有改变任何事情。我已经在javascript中使用了.value lowercase,即更改后,当服务器访问它时,它将恢复为旧值。
    function update() {
            var tbl = document.getElementById('MainContent_tbl1');
            var rows = tbl.getElementsByTagName('tr');
            var routes = document.getElementsByName("route");
            var mod;
            //make call to c# func to have the database updated
            for (var i = 1; i < rows.length; i++) {
                mod = document.getElementById("rte" + i);
                //for testing
                if (i == 1 || i == 10) {
                    alert("rte" + i + ", " + mod.value);
                }
                //change value
                mod.value = routes[i - 1].value;
                //for testing
                if (i == 1 || i == 10) {
                    alert("rte" + i + ", " + mod.value);
                }
         }