我有一个网页,从数据库中提取信息,将其转换为.csv格式,并将文件写入HTTPResponse.
string csv = GetCSV();
Response.Clear();
Response.ContentType = "text/csv";
Response.Write(csv);
Run Code Online (Sandbox Code Playgroud)
这很好用,文件发送到客户端没有问题.但是,当文件发送到客户端时,将使用当前页面的名称,而不是更友好的名称(如"data.csv").

我的问题是,如何在不将文件写入磁盘并将客户端重定向到文件的URL的情况下更改写入输出流的文件的名称?
编辑:谢谢你的回复.我得到了4个相同的响应,所以我只选择了第一个作为答案.
团队成员遇到了旧内部系统的问题,用户双击网页上的链接可能导致从浏览器发送两个请求,导致在竞赛中两个数据库插入相同记录条件; 最后一个运行失败,主键违规.已经提出并讨论了几种解决方案和黑客:
通过在第一次单击时禁用链接来使用网页上的Javascript来缓解第二次单击.这是一种快速简便的方法,可以减少问题的发生,但不能完全消除它.
在事务中将请求执行包装在服务器端.由于服务器负载和所讨论的桌面上的锁定级别,这被认为太昂贵了.
捕获失败的插入引发的主键异常,将其识别为这样,并吃掉它.这具有以下缺点:(a)供应商锁定,必须知道特定于数据库的异常的细微差别,以及(b)可能不记录/处理合法的数据库故障.
如果插入失败则尝试更新记录并检查更新结果以确保它返回受影响的1条记录,从而扩展#3.
其他选项是否未被考虑过?是否存在被忽视的选项的优缺点?所有邪恶中哪一个较小?
试图更新Windows机器上的一些宝石,我不断获得没有预编译二进制文件的宝石的错误输出:
提供的配置选项:
Run Code Online (Sandbox Code Playgroud)--with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --srcdir=. --curdir --ruby=c:/server/ruby/bin/ruby
这些是在安装gem期间提供给extconf.rb ruby文件的配置选项.
我安装了MinGW,所以我应该拥有安装,制作和编译这些宝石所需的一切.
但是,我不知道如何更改RubyGems的配置,以便在调用extconf.rb时它包含指向MinGW include目录的相应选项.
编码PHP字符串以输出到JavaScript变量的最简单方法是什么?
我有一个PHP字符串,其中包括引号和换行符.我需要将此字符串的内容放入JavaScript变量中.
通常,我只是在PHP文件中构建我的JavaScript,àla:
<script>
var myvar = "<?php echo $myVarValue;?>";
</script>
Run Code Online (Sandbox Code Playgroud)
但是,当$myVarValue包含引号或换行符时,这不起作用.
我正在考虑为Django项目上的某些应用程序创建一个单独的SQLite数据库.
但是,如果可能的话,我不想使用直接的SQLite访问.Django风格的ORM访问这些数据库将是理想的.
这可能吗?
谢谢.
我试图从代码隐藏的aspx.cs文件中设置IFRAME html控件的属性.
我遇到一个帖子,说你可以使用FindControl来查找非asp控件:
aspx文件包含:
<iframe id="contentPanel1" runat="server" />
Run Code Online (Sandbox Code Playgroud)
然后代码隐藏文件包含:
protected void Page_Load(object sender, EventArgs e)
{
HtmlControl contentPanel1 = (HtmlControl)this.FindControl("contentPanel1");
if (contentPanel1 != null)
contentPanel1.Attributes["src"] = "http://www.stackoverflow.com";
}
Run Code Online (Sandbox Code Playgroud)
除了找不到控件之外,contentPanel1为null.
更新1
看着渲染的html:
<iframe id="ctl00_ContentPlaceHolder1_contentPanel1"></iframe>
Run Code Online (Sandbox Code Playgroud)
我尝试将代码更改为:
HtmlControl contentPanel1 = (HtmlControl)this.FindControl("ctl00_ContentPlaceHolder1_contentPanel1");
if (contentPanel1 != null)
contentPanel1.Attributes["src"] = "http://www.clis.com";
Run Code Online (Sandbox Code Playgroud)
但它没有帮助.
我正在使用MasterPage.
更新2
将aspx文件更改为:
<iframe id="contentPanel1" name="contentPanel1" runat="server" />
Run Code Online (Sandbox Code Playgroud)
也没有帮助
回答
答案很明显,甚至不敢问原问题.如果你有aspx代码:
<iframe id="contentPanel1" runat="server" />
Run Code Online (Sandbox Code Playgroud)
并且想要从代码隐藏文件中访问iframe,您只需访问它:
this.contentPanel1.Attributes["src"] = "http://www.stackoverflow.com";
Run Code Online (Sandbox Code Playgroud) 是否可以将PHP连接到SQL Server Compact Edition数据库?什么是最好的车手?
我需要它用于SQL Server Express太重的桌面应用程序.
假设我有一个多线程C++程序,它以函数调用的形式处理请求handleRequest(string key).每次调用都handleRequest发生在一个单独的线程中,并且存在任意大量的可能值key.
我想要以下行为:
handleRequest(key)在具有相同值时被序列化key.handleRequest可能的主体看起来像这样:
void handleRequest(string key) {
KeyLock lock(key);
// Handle the request.
}
Run Code Online (Sandbox Code Playgroud)
问题:如何实现KeyLock以获得所需的行为?
一个天真的实现可能会像这样开始:
KeyLock::KeyLock(string key) {
global_lock->Lock();
internal_lock_ = global_key_map[key];
if (internal_lock_ == NULL) {
internal_lock_ = new Lock();
global_key_map[key] = internal_lock_;
}
global_lock->Unlock();
internal_lock_->Lock();
}
KeyLock::~KeyLock() {
internal_lock_->Unlock();
// Remove internal_lock_ from global_key_map iff no other threads are waiting for it.
}
Run Code Online (Sandbox Code Playgroud)
...但是,这需要在每个请求的开头和结尾处进行全局锁定,并为每个请求创建单独的Lock对象.如果调用之间的争用很高handleRequest,那可能不是问题,但如果争用率很低,则可能会产生大量开销.
我想允许在WebPage中嵌入Excel报表...有没有办法?
我不想使用ActiveX或OWC(Office Web Components),我只想从Internet Explorer应用程序打开现有文件.
我不希望用户下载然后打开它.
使用iframe不会有问题,但我的初步测试不成功
有任何想法吗?它可能吗?
我知道有些人发誓不使用特定于语言的IDE(vim/emacs或die!type stuff),并且有些人对终端中的编码/编译感到非常不舒服,所以我的问题有以下几个部分.
随意回答所有,部分或全部.
截至目前的简短摘要:
集成开发环境
文字编辑
asp.net ×3
php ×2
c# ×1
c++ ×1
concurrency ×1
database ×1
django ×1
double-click ×1
embed ×1
escaping ×1
excel ×1
extconf.rb ×1
html ×1
http ×1
ide ×1
iframe ×1
insert ×1
javascript ×1
locking ×1
makefile ×1
newline ×1
orm ×1
primary-key ×1
ruby ×1
rubygems ×1
sql-server ×1
sqlite ×1
windows ×1