winform下的代码: string s=string.Empty;
IDataObject o = Clipboard.GetDataObject();
if (o.GetDataPresent(DataFormats.CommaSeparatedValue))
{
StreamReader sr = new StreamReader((Stream)o.GetData(DataFormats.CommaSeparatedValue),Encoding.GetEncoding("gb2312"));
s = sr.ReadToEnd();
sr.Close();
}
这段代码的含义是:将剪贴板中的数据以csv的格式读取到变量s中,其中必须以csv格式读取,因为剪贴板中的内容是从Excel中复制的,如果以文本方式读取将不能正确解析。现想在web form中实现同样的功能,该web form中有一个button1,单击该button1后就可以将剪贴版中的内容以csv的格式读取到web form中的c#变量string s 中,不得使用隐藏控件传递。本人对asp.net并不熟悉,还望给出尽可能详细的代码。谢谢
IDataObject o = Clipboard.GetDataObject();
if (o.GetDataPresent(DataFormats.CommaSeparatedValue))
{
StreamReader sr = new StreamReader((Stream)o.GetData(DataFormats.CommaSeparatedValue),Encoding.GetEncoding("gb2312"));
s = sr.ReadToEnd();
sr.Close();
}
这段代码的含义是:将剪贴板中的数据以csv的格式读取到变量s中,其中必须以csv格式读取,因为剪贴板中的内容是从Excel中复制的,如果以文本方式读取将不能正确解析。现想在web form中实现同样的功能,该web form中有一个button1,单击该button1后就可以将剪贴版中的内容以csv的格式读取到web form中的c#变量string s 中,不得使用隐藏控件传递。本人对asp.net并不熟悉,还望给出尽可能详细的代码。谢谢
var bResult;
// 选中要剪切的文本。在剪切事件中文本选中区的尾随空格导致剪
// 切选快捷菜单项目保持无效。
function fnLoad() {
var r = document.body.createTextRange();
r.findText(oSource.innerText);
r.select();
}// 启用剪切快捷菜单项目,该项目在 DIV 上时默认为无效
function fnBeforeCut() {
event.returnValue = false;
}// 以文本格式给 window.clipboardData 对象赋予数据。
// 将 setData 方法的结果 (Boolean) 显示在下面的输入框内。
function fnCut(){
event.returnValue = false;
bResult = window.clipboardData.setData("Text",oSource.innerText);
oSource.innerText = "";
tText.innerText += bResult;
}// 启用粘贴快捷菜单项目,该项目在 DIV 上时默认也为无效
function fnBeforePaste() {
event.returnValue = false;
}// 在 onpaste 中取消 returnValue 以便输入文本,该操作有默认
// 的行为。
function fnPaste() {
event.returnValue = false;
oTarget.innerText = window.clipboardData.getData("Text");
}</SCRIPT>
</HEAD><BODY onload="fnLoad()" TOPMARGIN=0 LEFTMARGIN=0 BGPROPERTIES="fixed" BGCOLOR="#FFFFFF"
LINK="#000000" VLINK="#808080" ALINK="#000000"><DIV CLASS="clsSource" ID="oSource" onbeforecut="fnBeforeCut()" oncut="fnCut()">选中并剪切此文本</DIV>
<DIV CLASS="clsTarget" ID="oTarget" onbeforepaste="fnBeforePaste()" onpaste="fnPaste()">将文本粘贴在这里</DIV><BR><SPAN CLASS="clsData">setData 结果:</SPAN>
<INPUT CLASS="clsText" ID="tText" TYPE="text" READONLY VALUE="" SIZE="6" TABINDEX="-1"></BODY>
群号:29037453
第一获取剪贴板的内容最后的结果是csv格式,不是普通的获取文本
第二不用隐藏控件,js不可以直接操作c#变量吗?