我目前正在开发一个调用winform的aspx页面。手头的问题是将文本框变量从网页传递到ProcessStartInfo事件,再到winform文本框以检索图像。查看器来自供应商,但仅适用于winform环境,但其他信息来自CF页面,href和非功能Web图像查看器。我正在做什么?
Aspx页面代码:
namespace ImageView
{
public partial class _Default : System.Web.UI.Page
{
protected void page Load(object sender, EventArgs e)
{
TextBox1.Text = Request.QueryString["DKT_ID"].ToString();
//TextBox2.Text = Request.QueryString["Name"].ToString();
//TextBox3.Text = Request.QueryString["Age"].ToString();
ProcessStartInfo psi = new ProcessStartInfo(@"C:\ImageViewer\ImageView.exe");
psi.WindowStyle = ProcessWindowStyle.Normal;
Process p = new Process();
p.EnableRaisingEvents = true;
p.Exited += new EventHandler(MyExited);
p.StartInfo = psi;
p.Start();
}
Winform代码:
//SQL section for returning images
#region "Images Query"
ImageQuery = "SELECT isn AS isn ";
ImageQuery += "FROM bc_bcc_document (NOLOCK) ";
ImageQuery += "WHERE barcode_id = ? ";
DataTable Imagetable = new DataTable();
Imagetable.Columns.Add("ISN", typeof(Int32));
DataRow Imagerows;
//fills table with Images information
OdbcCommand comd = new OdbcCommand(ImageQuery);
string conne = "Dsn=XXXX; uid=XXXXX; pwd=XXXXXX";
using (OdbcConnection connected = new OdbcConnection(conne))
{
comd.Connection = connected;
connected.Open();
comd.Parameters.AddWithValue("barcode_id", txtBarcode.Text);
OdbcDataReader readar = comd.ExecuteReader();
while (readar.Read())
{
isn = Convert.ToInt32(readar["isn"].ToString().TrimEnd());
Imagerows = Imagetable.NewRow();
Imagerows["ISN"] = isn;
}
readar.Close();
答案 0 :(得分:5)
只需传递来自网页的参数
var proc = new Process
{
EnableRaisingEvents = false,
StartInfo = new ProcessStartInfo()
{
UseShellExecute = false,
FileName = path,
Arguments = Request.QueryString["DKT_ID"].ToString()
}
};
proc.Start();
并在WinForms应用程序中读取命令行参数,如下所示 -
string singleArgument = Environment.GetCommandLineArgs()[1];
P.S - 假设您传递的是单个参数,这就是使用Environment.GetCommandLineArgs()[1]
的原因
因为在[0]位置,你将获得路径,数组中的[1] st位置对你有用。
答案 1 :(得分:0)
您是否尝试过使用ClickOnce?我认为可能很有趣,如果您的客户端没有安装该应用程序,clickOnce将在启动应用程序之前进行安装。
你也可以通过args。
http://msdn.microsoft.com/en-us/library/ms172242(v=vs.110).aspx