如何在C#中的list <string>中获取设置的id值

崔夏T恤

附上代码:

var frameid = $('iframe').attr('id');

var aData = $($($('#' + frameid).contents()).find('#form1')[0]).find("input, select, textarea").not("#__VIEWSTATEGENERATOR").serialize();
$.ajax({
    type: "POST",
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    url: "cms001Detail.aspx/saveRecord",
    data: JSON.stringify(aData),
    success: function (Record) {
        alert('success');
    },
    error: function (xhr, ajaxOptions, thrownError) {
        console.log(JSON.stringify(aData));
        alert(xhr.responseText);
        //Ext.Msg.alert(xhr.responseText, thrownError);
    }
});

后面的内部代码:

public static void saveRecord(List<string> aData)
    {
        try
        {
            Dictionary<String, EntityObject> param = new Dictionary<string, EntityObject>();
            users users = new users();
            users.id = "save3";
            foreach (object items in aData)
            {
                Console.WriteLine(items);

            }
            //users.user_login = aData[0].ToString();
            ////users.password = password;
            //DateTime passExpDate;
            //if (DateTime.TryParse(passwordExpiryDate, out passExpDate))
            //{
            //    users.pwd_exp_date = DateTime.Parse(passwordExpiryDate);
            //};
            //users.name = fullName;
            //users.user_type = "";
            //users.email = email;
            //users.acc_status = "A";
            //users.role = "";
            users.last_logon_dt_tm = null;
            users.failed_count = null;
            users.created_by = "ME1";
            users.created_on = DateTime.Now;
            param.Add(users.GetType().Name, users);

            LazyDB ldb = new LazyDB();
            ldb.Save(param);

            TipBoxHelper.ShowNotify("Record Inserted");
        }
        catch (SqlException ex)
        {
            TipBoxHelper.ShowErroNotify("SQL Exception");
        }
        catch (Exception ex)
        {
            TipBoxHelper.ShowErroNotify(ex.ToString());
        }
    }

在foreach循环中,我需要像这样设置id值:

var id = aData.id?

亚历山大大帝

C#是一种强类型语言。.NET为您自动将松散类型的JSON处理为对象时,它希望您提供具有匹配数据类型的变量,并会丢弃所有意外值。如果发送对象数组并提供一个变量List<string>,则它将丢弃您发送的每个信息,因为该变量无法保存它。因此,您将无法获得id或其他任何东西。

如果您以的形式发送aData [{id:3,name:'Test'},{id:4,name:'Test2'],则希望您提供例如

List<AData> aData;

AData类型定义为

public class AData {
    int id;
    string name;
}

完成此操作后,您就可以使用来获取id列表中每个项目的aData[i].id如果在一个对象中未提供ID,则的对应值aData[i].id将是数据类型的默认值,在这种情况下为0

如果您不知道期望哪些字段,也可以使用字典:

List<Dictionary<string,object>> aData

aData[i]["id"]然后将保存您要搜索的值。但要注意:如果id在一个JSON对象中未提供,IndexOutOfRangeException则在使用时将抛出aData[i]["id"](这可能会也可能不会,因为在词典中,您现在可以区分未发送的值和来自前端的默认值-但最好记住这一点。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 .NET 6 / C# 10 中將 List<String?> 轉換為 List<String>?

如何在C#中获取多值xml文件中“ Ienumerable <String> Urls”中的每个值?

如何在C#中为protobuf map <string,string>属性设置值

如何在C#中从Dictionary <List,List <string >>创建.csv文件

如何在C#中从给定的文本文件创建2个单独的list <string>

如何在 C# 中的 List<string> 上切换大小写

c# 从类中获取 List<string>

如何在String中获取StringArray的值?

如何在C#中重命名string []的xml元素?

如何在c#中的String末尾退出while循环

如何在 Java 中设置 List<List<String>>

如何在C#中获取string []数组的一部分

如何在Mule变量中设置String值

List <string>在C#中检查null

C#中的不同List <string []>

在Jlist中获取String的值

如何在Android上的TextView中设置List <String>

如何在 Visual Studio C# 属性设置中保存 list<string>

如何在Java8的List <Map <String,Object >>中获取最大值

如何在jdbctemplate中查询list <String>

List<string> 的值未在 C# 中更新

我如何在StringPattern值birdantantcatbirdcat中获取String结果

如何在Haskell中获取'[String]的类型级别的值?

如何在HashMap值中获取String []数组的长度

如何在C ++中的std :: string中获取元素的地址?

如何在 C# 中反序列化 Dictionary<string, string[]> ?

如何使用键作为标题将C#中的字典<string,List <string >>转换为csv?

如何使用方法 List(String list, Boolean inCellDropdown) 使用 c# ClosedXML 在 Excel 中设置下拉列表的验证

如何在模型中为List <string>分配值