如何在表单中最优雅地临时存储字符串值数组?
我有一个表单,用户可以在其中编辑文章 - 并添加标签,这些标签只是字符串值.
我不想坚持它,直到用户实际保存整篇文章,所以我需要能够暂时......:
我可以将所有内容存储在逗号分隔的隐藏字段中,但它看起来很难看,而且我更喜欢更强大的类型.
这样做的正确方法是什么?指针的例子非常受欢迎.
我收到一些带有嵌入式base64编码图像的xml文件,我需要将其解码并保存为文件.
可以在下面下载此类文件的未修改(除了压缩)示例:
20091123-125320.zip(60KB)
但是,我收到诸如"Base-64 char数组的长度无效"和"Base-64字符串中的无效字符"之类的错误.我在代码中标记了我在代码中得到错误的行.
文件可能如下所示:
<?xml version="1.0" encoding="windows-1252"?>
<mediafiles>
<media media-type="image">
<media-reference mime-type="image/jpeg"/>
<media-object encoding="base64"><![CDATA[/9j/4AAQ[...snip...]P4Vm9zOR//Z=]]></media-object>
<media.caption>What up</media.caption>
</media>
</mediafiles>
Run Code Online (Sandbox Code Playgroud)
以及像这样处理的代码:
var xd = new XmlDocument();
xd.Load(filename);
var nodes = xd.GetElementsByTagName("media");
foreach (XmlNode node in nodes)
{
var mediaObjectNode = node.SelectSingleNode("media-object");
//The line below is where the errors occur
byte[] imageBytes = Convert.FromBase64String(mediaObjectNode.InnerText);
//Do stuff with the bytearray to save the image
}
Run Code Online (Sandbox Code Playgroud)
xml数据来自企业报纸系统,所以我很确定文件是正确的 - 我必须有一些处理方式,这是错误的.也许编码有问题?
我已经尝试写出mediaObjectNode.InnerText的内容,它是base64编码的数据 - 所以导航xml-doc不是问题.
我一直在谷歌搜索,binging,stackoverflowing和哭 - 并找不到解决方案......帮助!
添加了一个实际的示例文件(和一个赏金).请注意,可下载文件的架构有点不同,因为我在上面的示例中简化了它,删除了不相关的东西......
我在列上使用unpivot时遇到问题,这些数据类型并不完全相同,我无法弄清楚如何动态转换列,因为UNPIVOT的语法似乎不支持它.
考虑这个例子:
DECLARE @People TABLE
(PersonId int, Firstname varchar(50), Lastname varchar(50))
-- Load Sample Data
INSERT INTO @People VALUES (1, 'Abe', 'Albertson')
INSERT INTO @People VALUES (2, 'Benny', 'Boomboom')
SELECT PersonId, ColumnName, Value FROM @People
UNPIVOT
(
ColumnName FOR
Value IN (FirstName, LastName)
)
Run Code Online (Sandbox Code Playgroud)
结果是这样的:
PersonId ColumnName Value
----------- ----------------- ----------------
1 Abe Firstname
1 Albertson Lastname
2 Benny Firstname
2 Boomboom Lastname
Run Code Online (Sandbox Code Playgroud)
一切都是独角兽和彩虹.现在我将Lastname的数据类型更改为varchar(25),一切都中断了.输出是:
"Lastname"列的类型与UNPIVOT列表中指定的其他列的类型冲突.
我怎样才能解决这个问题并将所有内容转换成动态的varchar(50),而不会篡改桌面上的实际数据类型?
SqlFiddle工作示例(相同数据类型):http://sqlfiddle.com/#!3/f3719
SqlFiddle破解示例(diff数据类型):http://sqlfiddle.com/#!3/5dca13/1
我有一个小实用程序,使用.NET的FileInfo.Delete()方法从文件夹中删除文件.基本上,如果文件当前是打开的,我可以捕获IOException.这适用于除图像文件(JPG,GIF,BMP等)之外的所有文件.当这些类型的文件打开时,程序仍然可以删除它们而不会抛出任何异常.你以前遇到过这个吗?如何检测这些类型的文件是否打开,以便我可以阻止删除.
谢谢,明
在表格中,我有一个文本字段.我需要能够只选择字段的前200个字符 - 但LEFT不适用于TEXT字段.
该怎么办?
我有一个foo对象,我想输出:
标题,位置
所以我试试......:
@if (sometruestuff){
@foo.Title, @foo.Location
}
@if (sometruestuff){
@foo.Title , @foo.Location
}
Run Code Online (Sandbox Code Playgroud)
两者都无法编译.
然而...:
@if (sometruestuff){
@foo.Title<span>,</span> @foo.Location
}
Run Code Online (Sandbox Code Playgroud)
...作品.
我缺少一些技巧吗?
编辑:这发生在一个代码块中,更新以反映这一点.
假设文化不变,是否可以以格式定义不同的组分隔符 - 而不是逗号?
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
Console.WriteLine(String.Format("{0:#,##0}", 2295));
Run Code Online (Sandbox Code Playgroud)
输出:
2,295
Run Code Online (Sandbox Code Playgroud)
期望的输出:
2.295
Run Code Online (Sandbox Code Playgroud)
不变文化是一项要求,因为来自许多不同语言环境的货币使用格式字符串格式化,这些格式字符串是用户定义的.即丹麦他们已经将价格格式定义为"{0:0}, - ",而对于爱尔兰,它可能是"€{0:#,## 0}".
对于一个应用程序,我正在构建,我想使用SQL Server Managentment Objects.
我可以使用我的应用程序分发和安装SMO DLL吗?
该应用程序需要SQL Server安装(因此许可证),但不一定在同一台服务器上(即我的应用程序在一台PC上,连接到另一台PC上的SQL Server).
在花了30分钟寻找答案后,我发现了许多 - 而且相互矛盾 - 答案......
在 Oracle 数据库中,它的 ID 列定义为数字:
...以及表的相应序列...:
如何确保 ID 列获得序列中的下一个值?
using (var db = new MyOracleDb()){
var user= new User(){ first_name = 'Abe', last_name = 'Lincoln'};
//Do something here with the sequence and set the ID?
db.User.Add(user);
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
我正在使用最新的 Oracle.ManagedDataAccess 和 Oracle.ManagedDataAccess.EntityFramework + EF6x。
我希望能够在 Asp.Net MVC Core 网站中显示版本号(图片中的 *1)和内部版本号(图片中的 *2) - 针对该特定网站,该网站是使用 Azure DevOps 构建和发布的。
因此,如果我签入 MVC 网站的代码,构建和发布过程就会启动并部署该网站 - 现在我希望同一网站在页脚中显示“发布 xxxxx”。
它可以在 JSON 文件、环境变量或其他东西中 - 只要我可以从 Asp.Net Core 访问它,我就很高兴。
如何才能做到这一点?
c# ×4
sql-server ×3
.net ×2
sql ×2
t-sql ×2
azure-devops ×1
base64 ×1
cultureinfo ×1
decode ×1
file-io ×1
javascript ×1
jquery ×1
licensing ×1
oracle ×1
pivot ×1
razor ×1
smo ×1
unpivot ×1
xml ×1