1

全部,

请原谅这里缺少示例代码。我有一个 .bat 文件,它执行一个后台进程,刷新我正在设计的网页上的图形。我可以使用调度应用程序自动运行这个过程,但我想给用户手动控制。我想要网页上的一个按钮,用户可以单击该按钮在服务器上运行 .bat 文件。我在 html 和 C# 中对 aspx 文件进行编码。

到目前为止我尝试过的是:

<a href='program.bat'> Refresh </a> 

显然这不起作用:当我在 IE 浏览器上单击“刷新”并选择“运行”时,文件下载到本地驱动器上的临时文件夹并尝试在那里执行。

4

1 回答 1

1

如果您希望批处理文件在服务器上运行,那么您必须从您的 C# 代码中调用它,而不是在 html 中。

有很多方法可以做到这一点。最简单的是有一个从 调用它的 aspx 页面,OnLoad比如说 update.aspx:

<script runat="server">
    protected override void OnLoad( EventArgs e )
    {
        System.Diagnostics.Process.Start( @"c:\path\to\program.bat" );
    }
</script>

然后你的 html 有一个常规<a href="update.aspx">标签。

当然,它也可以作为按钮按下等的回发来完成。关键是它是在服务器端完成的,在一些代码隐藏中。

于 2013-03-14T18:20:21.487 回答