我想将参数发送到 ClickOnce 并在 WinForm Label
中显示。
我认为所有设置都是正确的。
问题是什么?我没有找到关于这种情况的任何解决方案。如何将参数发送到 ClickOnce?
最佳答案
您应该使用 QueryString
传递参数。
然后在应用程序中,尝试读取查询字符串。为此,您应该使用类似 http://servername/WindowsApp1.application?username=joeuser
的链接打开应用程序。然后您可以在您的应用程序中获取这些值并在您的表单中使用它们。
为此,请将 System.Web
引用添加到您的应用程序,然后将以下属性用于您的 Program
类并使用 Program.QueryString
无论您需要什么:
private static NameValueCollection queryString;
public static NameValueCollection QueryString
{
get
{
if (queryString == null)
{
NameValueCollection nameValueTable = new NameValueCollection();
if (ApplicationDeployment.IsNetworkDeployed)
{
var q = ApplicationDeployment.CurrentDeployment.ActivationUri.Query;
nameValueTable = HttpUtility.ParseQueryString(q);
}
queryString = nameValueTable;
}
return queryString;
}
}
注意:
您应该确保在发布选项中将Allow URL parameters to be passed to application 设置为 true。 (截图显示你设置正确。)
要了解更多信息,请查看 How to: Retrieve Query String Information in an Online ClickOnce Application
关于c# - ClickOnce 发送参数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49877654/