winform下的这段代码转为asp.net代码

NaZiChong 2010-03-18 08:26:57
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并不熟悉,还望给出尽可能详细的代码。

谢谢
...全文
201 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
NaZiChong 2010-03-24
  • 打赏
  • 举报
回复
..............
NaZiChong 2010-03-24
  • 打赏
  • 举报
回复
..................
NaZiChong 2010-03-18
  • 打赏
  • 举报
回复
有点难,自己up一下
gongsun 2010-03-18
  • 打赏
  • 举报
回复
................
NaZiChong 2010-03-18
  • 打赏
  • 举报
回复
谢谢回答,请看清题目,
第一获取剪贴板的内容最后的结果是csv格式,不是普通的获取文本
第二不用隐藏控件,js不可以直接操作c#变量吗?
bychgh 2010-03-18
  • 打赏
  • 举报
回复
帮顶~~~~~~
leonbingo 2010-03-18
  • 打赏
  • 举报
回复
另外,你点击button1的时候,会引起页面的回传,所以,不利用隐藏域保存你从剪贴板上面读下来的数据,就没有办法将数据提交到服务器端,这个是web的基本原理了。
bo_301 2010-03-18
  • 打赏
  • 举报
回复
新建的web技术交流群,欢迎大家加入一起讨论:
群号:29037453
leonbingo 2010-03-18
  • 打赏
  • 举报
回复
这个不得不借助javascript来实现,因为asp.net在客户端运行环境就是浏览器,所以是没有办法直接读取的

<SCRIPT>
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>
cqdyh 2010-03-18
  • 打赏
  • 举报
回复
Clipboard 不能在 Asp.NET 中使用?

NaZiChong 2010-03-18
  • 打赏
  • 举报
回复
。。。。。。。。。。。
messi_yang 2010-03-18
  • 打赏
  • 举报
回复
只能友情幫頂了 ·····
NaZiChong 2010-03-18
  • 打赏
  • 举报
回复
。。。。。。。。。。。。。。。。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧