我遇到了一个非常令人沮丧的问题RichTextBox
,即使用实体框架将带有格式的格式存储到数据库中。
这是我的代码:
namespace simpleton
{
/// <summary>
/// Interaction logic for AddNewOE.xaml
/// </summary>
public partial class AddNewOE : Window
{
//db connection
simpletonDBEntities _db = new simpletonDBEntities();
public AddNewOE()
{
InitializeComponent();
}
private void insertobBtn_Click(object sender, RoutedEventArgs e)
{
db_entry newdb_entries = new db_entry()
{
ReportDetails = ConvertRtbToBytes(rtfText)
};
_db.ob_entries.Add(newOb_entries);
_db.SaveChanges();
}
public static byte[] ConvertRtbToBytes(string richTextBox)
{
byte[] data = null;
string rtfText; //string to save to db
TextRange tr = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);
using (MemoryStream ms = new MemoryStream())
{
tr.Save(ms, DataFormats.Rtf);
rtfText = Encoding.ASCII.GetString(ms.ToArray());
}
return data;
}
}
}
我在ConvertRtbToBytes()
函数上收到错误:
“字符串”不包含“文档”的定义,并且找不到包含字符串类型的第一个参数的可访问扩展方法“文档”(您是否缺少using指令或程序集引用?)
我也确定一般代码不正确。
您需要对问题的描述更加谨慎,因为我怀疑您想在数据库中存储RichTextBox。我猜你想在数据库中存储RichTextBox的内容。
错误本身是不言自明的:
“字符串”不包含“文档”的定义,并且找不到包含字符串类型的第一个参数的可访问扩展方法“文档”(您是否缺少using指令或程序集引用?)
您有一个名为richTextBox
type的参数string
,以后将尝试以这种方式使用它:
public static byte[] ConvertRtbToBytes(string richTextBox)
{
// ...
TextRange tr = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);
// ...
}
因此,您尝试访问的Document
属性string
,但string
没有Document
属性。您可能打算将参数设置为type RichTextBox
。
话虽这么说,您的代码还有很多缺陷,甚至无法编译:
在方法中insertobBtn_Click
:
rtfText
使用,但从未定义newdb_entries
,但尝试保存一个名为newOb_entries
在方法中ConvertRtbToBytes
:
byte[] data = null;
并返回data
,但data
永远不会设置或填充数据rtfText
并为其分配了一些值,但不对其执行任何操作本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句