首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Checkboxlist to String,Save to Database,然后转换为Array

Checkboxlist to String,Save to Database,然后转换为Array
EN

Stack Overflow用户
提问于 2010-02-10 17:20:50
回答 3查看 4.2K关注 0票数 0

我知道这个主题可能有点奇怪,但我不确定如何准确地描述我的目标

我正在尝试在内容管理系统中执行一些基于角色的权限。我能想到的最好的方法是从数据库中提取角色列表,并将它们放入CheckBoxList中。从那里,我将以逗号分隔的检验值字符串保存到数据库的页面详细信息中。最后,当页面被拉回时,我检查当前用户是否有权限,方法是拉下逗号分隔的字符串,将其拆分成一个String(),然后遍历这些值。

我担心的是,当我循环遍历CheckBoxList并将值转换为字符串时,循环方法会在字符串的末尾添加一个逗号……然后,我必须在将逗号保存到数据库之前去掉逗号。

我的问题是,有没有更好的方法来做到这一点,这样我就不必回到字符串中,在保存之前去掉尾随的逗号?

代码语言:javascript
运行
AI代码解释
复制
    ''# this is to get all selected items from
    ''# a checkboxlist and add it to a string
    ''# the reason for this is to insert the final string
    ''# into a database for future retrieval.
    Dim i As Integer
    Dim sb As StringBuilder = New StringBuilder()
    For i = 0 To CheckBoxList1.Items.Count - 1
        If CheckBoxList1.Items(i).Selected Then
            sb.Append(CheckBoxList1.Items(i).Value & ",")
        End If
    Next

    ''# now I want to save the string to the database
    ''# so I first have to strip the comma at the end
    Dim str As String = sb.ToString.Trim(",")
    ''# Then save str to the database

    ''# I have now retrieved the string from the 
    ''# database and I need to now add it to a One Dimensional String()
    Dim str_arr() As String = Split(str, ",")
    For Each s As String In str_arr
        ''# testing purposes only
        Response.Write(s & " -</br>")

        ''# If User.IsInRole(s) Then
        ''#     Do Stuff
        ''# End If
    Next
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-10 17:25:07

将所有值放在一个字符串列表中,然后使用String.Join将它们连接起来。我不会评论保持逗号分隔的列表,而不是用户与角色的一对多关系。:-)

代码语言:javascript
运行
AI代码解释
复制
Dim values as List(Of String) = New List(Of String)()
For i = 0 To CheckBoxList1.Items.Count - 1 
    If CheckBoxList1.Items(i).Selected Then 
        values.Add( CheckBoxList1.Items(i).Value )
    End If 
Next

Dim str As String = String.Join( ",", values.ToArray() )
票数 1
EN

Stack Overflow用户

发布于 2010-02-10 17:34:00

您是否可以简单地创建一个数据库表,其中包含对页面的引用(可以是按名称、路径或其他一些唯一的id)和对角色的引用?

我当然不是说这是最好的解决方案(无论如何),它只是一个例子:

角色表:

代码语言:javascript
运行
AI代码解释
复制
RoleId | RoleName
_________________
1      | Editor
2      | Administrator

页表:

代码语言:javascript
运行
AI代码解释
复制
PageId | PageName
8      | ~/Page1.aspx
9      | ~/OtherPlace/Page2.aspx

PageRole表:

代码语言:javascript
运行
AI代码解释
复制
RoleId | PageId
2      | 8
2      | 9
1      | 9

然后将您的数据存储在连接表中,并在访问页面时根据当前页面拉回您的角色。当然,它根本不需要基于页面,您可以很容易地将我的示例中的page替换为Permission。

票数 1
EN

Stack Overflow用户

发布于 2010-02-10 17:28:59

如果您使用ASP.NET成员资格,则可以为一个用户分配多个角色。

代码语言:javascript
运行
AI代码解释
复制
Roles.AddUserToRoles(username, roles);

Roles.IsUserInRole(role);

只是一些需要考虑的事情。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2238874

复制
相关文章
jsonobject string转json_string转换为long
本文使用一个小例子展示在java中怎样将一个JSON格式的字符串转化为JSONObject对象。注意,我们使用的是 org.json.simple.JSONObject;
全栈程序员站长
2022/09/22
3.4K0
jsonobject string转json_string转换为long
integer转string java_Integer转换为String类型[通俗易懂]
Exception in thread “main” java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
全栈程序员站长
2022/11/01
2.1K0
string转换为jsonarray_jsonobject转jsonarray
如果用的是fastjson 则导包为 import com.alibaba.fastjson.JSONObject
全栈程序员站长
2022/09/22
2K0
string转换为jsonarray_jsonobject转jsonarray
java map 转string_java-将Map <String,Object>转换为Map <String,String>
Map map = new HashMap(); //Object is containing String
全栈程序员站长
2022/08/25
12.4K0
integer转换为string_go 字符串转int
str := “123” // string 转 int i, err := strconv.Atoi(str) if err == nil {   fmt.Printf(“i: %v\n”,i) } // string 转 int64 i64,err := strconv.ParseInt(str,10,64) if err == nil {   fmt.Printf(“i64: %v\n”,i64) } // string 转 int32 j,err := strconv.ParseInt(str,10,32) if err == nil {   fmt.Printf(“i32: %v\n”,int32(j)) }
全栈程序员站长
2022/11/06
3.5K0
PHP中的Array2String & String2Array
在用PHP开发时我们有时期望将一个数组(任意多维),在页面之间传递或者存入数据库。这时我们可以将Array转换为String传递或保存,取出用的时候在转换回来即可。 <?/*在Array和String
joshua317
2018/04/10
2K0
java把string转int类型_java把String类型转换为int类型的方法
这篇文章将为大家详细讲解有关java把String类型转换为int类型的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
全栈程序员站长
2022/11/10
4.2K0
java把string转int类型_java把String类型转换为int类型的方法
iOS基础【string和Array 互转】&【 string与class互转】& 【json string 和Array互转】
在适配iOS13的时候,经常要对特定类进行特出处理,这个时候class与string之间的互相转换就经常需要使用。
公众号iOS逆向
2021/03/24
1.2K0
iOS基础【string和Array 互转】&【 string与class互转】& 【json string 和Array互转】
Java中将Map转String,String转Map
但很多时候并不能直接将Map对象的toString() 而是应该转换为JsonObject后再调用toString()后存入就正常了
JavaEdge
2021/02/22
14.5K0
jsonobject string转json_java jsonobject转string
这里的JSONObject对像是不是hutool这些工具类的哦,是java内部自带这个。
全栈程序员站长
2022/09/25
3.8K0
String转JsonArray转List[通俗易懂]
场景是查看学生详情时需要展示学生学历信息 比如某某年 哪个学校毕业 奖惩情况等等
全栈程序员站长
2022/08/31
3.2K0
javabyte数组转string_byte数组转string
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179050.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
3K0
IntPtr 转 string
假设有 intPtr pBuffer 方法一: 直接使用Marshal.PtrToStringAnsi方法: string ss = Marshal.PtrToStringAnsi(pBuffer); 但,如果pBuffer中有\0,此方法所获取的字符串会被截断。这种情况要用方法二。 方法二: 先转为byte数组,然后再转string: byte[] cc = new byte[dwBufSize]; Marshal.Copy(pBuffer, cc, 0, (int)dwBufSi
庞小明
2018/03/09
2.4K0
long转string mybatis_Long转String总结
* 通过测试,发现如果传入null,则第一种方式报错;第二种方式打印出null字符串
全栈程序员站长
2022/08/28
3.3K0
python 数组转换为字典_char转换为string
会触发TypeError: sequence item 0: expected string, int found的错误
全栈程序员站长
2022/11/07
1.1K0
数组转String
这里对文章进行总结:以上就是今天要讲的内容,本文仅仅简单介绍了Java转的数组使用
用户10175992
2022/11/15
3K0
Array,Date,String 对象方法
方法 描述 concat() 连接两个或更多的数组,并返回结果。 copyWithin() 从数组的指定位置拷贝元素到数组的另一个指定位置中。 entries() 返回数组的可迭代对象。 every() 检测数值元素的每个元素是否都符合条件。 fill() 使用一个固定值来填充数组。 filter() 检测数值元素,并返回符合条件所有元素的数组。 find() 返回符合传入测试(函数)条件的数组元素。 findIndex() 返回符合传入测试(函数)条件的数组元素索引。 forEach() 数组每个元素都执行一次回调函数。 from() 通过给定的对象中创建一个数组。 includes() 判断一个数组是否包含一个指定的值。 indexOf() 搜索数组中的元素,并返回它所在的位置。 isArray() 判断对象是否为数组。 join() 把数组的所有元素放入一个字符串。 keys() 返回数组的可迭代对象,包含原始数组的键(key)。 lastIndexOf() 搜索数组中的元素,并返回它最后出现的位置。 map() 通过指定函数处理数组的每个元素,并返回处理后的数组。 pop() 删除数组的最后一个元素并返回删除的元素。 push() 向数组的末尾添加一个或更多元素,并返回新的长度。 reduce() 将数组元素计算为一个值(从左到右)。 reduceRight() 将数组元素计算为一个值(从右到左)。 reverse() 反转数组的元素顺序。 shift() 删除并返回数组的第一个元素。 slice() 选取数组的的一部分,并返回一个新数组。 some() 检测数组元素中是否有元素符合指定条件。 sort() 对数组的元素进行排序。 splice() 从数组中添加或删除元素。 toString() 把数组转换为字符串,并返回结果。 unshift() 向数组的开头添加一个或更多元素,并返回新的长度。 valueOf() 返回数组对象的原始值。
江一铭
2022/07/05
1.2K0
string和array基本方法
  变异方法 :  push() pop() shift() unshift() splice() sort() reverse()  会改变被这些方法调用的原始数组。
刘嘿哈
2022/10/25
4040
alibaba String转json转map
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/145506.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/27
5K0
String转JSONArray,遍历JSONArray,Array数组转换成JSON字符串
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/151413.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/31
1.2K0
String转JSONArray,遍历JSONArray,Array数组转换成JSON字符串

相似问题

将Array<String>转换为String,然后返回到Array<String>

26

从Array[((String,String),Double)]转换为Array[(String,Array[((String,String),Double)]]

11

如何将Array[(String,List[String])]转换为Array[(String,String)]

43

配置单元:将array<struct<key:string、value:array<string>>>转换为map<string、array<string>>

10

将array<String^>转换为System::String^

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文