c# - 你调用的对象是空的。 - 控制集合

标签 c# asp.net razor textbox webmatrix

我是 Asp.net 和网站 build 的新手,但我是从 Webmatrix 网页开始的,实际上我的网站取得了很大进展。 但我现在陷入了一段 Razor 代码。我收到错误: 你调用的对象是空的。 排队: foreach(Page.Controls 中的控件 c1)

@{
    var db = Database.Open("DOM Coins");
    var codigo_campo_ID_unico=0;
    var valor_BC=0;


    if(IsPost){

        foreach(Control c1 in Page.Controls){
            foreach(Control c in c1.Controls){
            if (c.GetType().ToString() == "System.Web.UI.WebControls.TextBox"){
                if (c.ID=="BC_8"){
                   if (c.ID.Substring(0,2)=="BC"){
                      codigo_campo_ID_unico=int.Parse(c.ID.Substring(3,c.ID.Length-3));
                      valor_BC=int.Parse(Request[c.ID]);


                       db.Execute("UPDATE Coleccao SET Quantidade_BC=@valor_BC WHERE Id=@codigo_campo_ID_unico");
                   }
                }
            }
            }
        }
    }

}

我想这样做的原因是因为我正在动态创建文本框,每个文本框都有不同的 ID,我想遍历所有文本框并将数据插入数据库。

如有任何帮助,我们将不胜感激。

提前致谢, 迪尼斯。

最佳答案

下面的代码创建了一个包含可变数量文本字段的表单,并读取它们的内容并将其存储到列表中。

@{
    var num = 3; // number of text fields to create
    List<string> nText = new List<string>();
    if (IsPost)
    {
        for (int i = 0; i < num; i++)
        {
            var name = "txt" + i.ToString();
            nText.Add(Request.Form[name]);
        }
    }
}

<!DOCTYPE html>

<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <form method="post">
            @for (int i = 0; i < num; i++)
            {
                var name = "txt" + i.ToString();
                <p>@name
                <input type="text" name="@name" />
                </p>
            }
            <input type="submit" />
        </form>
    </body>
</html>

只需稍作改动,您就可以将文本字段值插入到表记录中。

关于c# - 你调用的对象是空的。 - 控制集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12691543/

相关文章:

c# - 如何动态插入/编辑中继器的值?

c# - 更新后 css iframe 未在客户端上更新

asp.net-mvc - 在另一个强类型的局部 View 中呈现强类型的局部 View - 不正确的模型被传递到 subview

javascript - Razor 页面中的最佳实践 : Using AJAX or Handlers for post/get requests

c# - 具有副作用的方法的字段初始化顺序

c# - 如何在 Windows 安装程序中放置单选按钮 - 部署项目?

c# - 在 ASP.NET 1.1 中显式定义控件前缀?

.net - 如何*不使用*使用 Visual Studio GUI 设置 ASP.NET 项目?

javascript - 在 asp.net mvc 或 jquery 中刷新时保留类更改

razor - ckeditor 和 razor 语法模板